MySQL(MariaDB)

(1)Docker Compose

services:
  mysql:
    image: mysql
    container_name: mysql
    environment:
      - MYSQL_ROOT_PASSWORD=Passw0rd
      - MYSQL_DATABASE=mydb
      - MYSQL_USER=luanrz
      - MYSQL_PASSWORD=Passw0rd 
    ports:
      - "127.0.0.1:3306:3306"
    volumes:
      - ~/Data/App/MySQL/data:/var/lib/mysql
    restart: unless-stopped

  phpmyadmin:
    image: phpmyadmin
    container_name: phpmyadmin
    environment:
      - PMA_HOST=mysql
      - PMA_USER=root
      - PMA_PASSWORD=Passw0rd
    ports:
      - "127.0.0.1:8880:80"
    depends_on:
      - mysql
    restart: unless-stopped

(2)Docker Run

# MySQL
docker run \
-d \
-e MYSQL_ROOT_PASSWORD=Passw0rd \
-e MYSQL_DATABASE=mydb \
-e MYSQL_USER=luanrz \
-e MYSQL_PASSWORD=Passw0rd \
-p 127.0.0.1:3306:3306 \
-v ~/Data/App/MySQL/data:/var/lib/mysql \
--name=mysql \
mysql
# phpMyAdmin
docker run \
-d \
-e PMA_USER=root \
-e PMA_PASSWORD=Passw0rd \
-p 127.0.0.1:8880:80 \
--link mysql:db \
--name phpmyadmin \
phpmyadmin

Redis

# Redis
docker run \
-d \
-p 127.0.0.1:6379:6379 \
--name=redis \
redis

XXL-JOB

docker run \
-d \
-e PARAMS="--spring.datasource.url=jdbc:mysql://db:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai --spring.datasource.password=Passw0rd" \
-p 127.0.0.1:8881:8080 \
-v ~/Data/App/XXL-JOB/logs:/data/applogs/xxl-job \
--name xxl-job-admin \
--link mysql:db \
xuxueli/xxl-job-admin:2.4.0

XXL-JOB依赖于MySQL,首次启动XXL-JOB时需要执行对应SQL

Windows

(1)Docker Compose

创建docker-compose.yml文件:

services:
  windows:
    image: dockur/windows
    container_name: windows
    environment:
      VERSION: "./boot.iso"
      RAM_SIZE: "4G"
      CPU_CORES: "2"
      DISK_SIZE: "32G"
      USERNAME: "luanrz"
      PASSWORD: "Passw0rd"
    devices:
      - /dev/kvm
      - /dev/net/tun
    cap_add:
      - NET_ADMIN
    ports:
      - 127.0.0.1:8006:8006
      - 127.0.0.1:3399:3389/tcp
      - 127.0.0.1:3399:3389/udp
    volumes:
      - ./boot.iso:/boot.iso
      - ./storage:/storage
      - ./data:/data
    restart: on-failure
    stop_grace_period: 2m

下载windows镜像文件(如:Windows 10 LTSC),重命名为boot.iso,放到docker-compose.yml同级目录,随后启动容器:

docker compose up -d

在浏览器中访问http://127.0.0.1:8006,执行windows安装流程。安装完成后开启远程桌面访问,后续可通过Remmina等支持RDP协议的工具连接3399端口访问远程桌面。

(2)Docker Run

docker run \
-it \
--name windows \
-e VERSION="./boot.iso" \
-e RAM_SIZE="4G" \
-e CPU_CORES="2" \
-e DISK_SIZE="32G" \
-e USERNAME="luanrz" \
-e PASSWORD="Passw0rd" \
--device=/dev/kvm \
--device=/dev/net/tun \
--cap-add NET_ADMIN \
-p 127.0.0.1:8006:8006 \
-p 127.0.0.1:3399:3389 \
-v ./boot.iso:/boot.iso \
-v ./storage:/storage \
-v ./data:/data \
--stop-timeout 120 \
dockur/windows

参见官方Github页面这篇文章