发布时间:2025-06-24 20:34:04 作者:北方职教升学中心 阅读量:563
安装Docker
- 2.1 安装 docker desktop
- 2.2 修改 docker desktop 配置
三、安装Docker2.1 安装 docker desktop
官方下载地址:https://docs.docker.com/desktop/install/windows-install/

下载完成后进行安装,只能装在C盘,不支持更改安装目录。拉取镜像
dockerpull minio/minio
第二步、
三者的区别了解即可,推荐用WSL 2,因为虚拟机太重了…懂的都懂。前言在Windows上安装Docker时,可以选择使用不同的后端。
Docker提供了GUI前端 Docker Desktop,下面会介绍。此外,还可以选择使用Windows容器。创建挂载目录


配置文件下载:application.properties
修改 mysql 连接信息:
spring.datasource.url=jdbc:mysql://[IP 或 容器名]:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghaispring.datasource.username=rootspring.datasource.password=123456spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
第四步:创建并运行容器
dockerrun --namexxl-job -d^--networkdocker-network ^-eTZ=Asia/Shanghai ^-ePARAMS="--spring.config.location=/application.properties"^-p8081:8080 ^-vD:\Develop\Docker\Data\xxl-job\logs:/data/applogs ^-vD:\Develop\Docker\Data\xxl-job\conf\application.properties:/application.properties ^xuxueli/xxl-job-admin:2.4.0
第五步:验证
http://localhost:8081/xxl-job-admin/
用户名:admin
密码:123456

新增一个任务:

查看数据库:

四、指定MySQL服务器的默认排序规则command: --max_connections=1000--character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci volumes: - "D:\\Develop\\Docker\\Data\\mysql\\log:/var/log/mysql"- "D:\\Develop\\Docker\\Data\\mysql\\data:/var/lib/mysql"- "D:\\Develop\\Docker\\Data\\mysql\\conf:/etc/mysql/conf.d"networks: - docker-network healthcheck: test: ["CMD", "mysqladmin","ping", "-h", "localhost"]retries: 10nacos: image: nacos/nacos-server:v2.2.3 container_name: nacos restart: unless-stopped volumes: - "D:\\Develop\\Docker\\Data\\nacos\\bin:/home/nacos/bin"- "D:\\Develop\\Docker\\Data\\nacos\\conf:/home/nacos/conf"- "D:\\Develop\\Docker\\Data\\nacos\\data:/home/nacos/data"- "D:\\Develop\\Docker\\Data\\nacos\\logs:/home/nacos/logs"environment: - PREFER_HOST_MODE=hostname - MODE=standalone - SPRING_DATASOURCE_PLATFORM=mysql - MYSQL_SERVICE_HOST=mysql - MYSQL_SERVICE_DB_NAME=nacos - MYSQL_SERVICE_PORT=3306- MYSQL_SERVICE_USER=root - MYSQL_SERVICE_PASSWORD=123456- JVM_XMS=256m - JVM_XMX=256m - JVM_XMN=128m - JVM_MS=32m - JVM_MMS=64m - MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=10000&socketTimeout=30000&autoReconnect=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true ports: - "8848:8848"- "9848:9848"- "9849:9849"networks: - docker-network healthcheck: test: ["CMD-SHELL", "echo 'ruok' | curl -s telnet://localhost:8848 || exit 1"]retries: 10depends_on: mysql: condition: service_healthy minio: image: minio/minio:latest container_name: minio restart: no command: server /data --console-address ":9001"environment: TZ: Asia/Shanghai LANG:en_US.UTF-8 volumes: - "D:\\Develop\\Docker\\Data\\minio\\data:/data"- "D:\\Develop\\Docker\\Data\\minio\\config:/root/.minio"ports: - "9000:9000"- "9001:9001"networks: - docker-network xxl-job: image: xuxueli/xxl-job-admin:2.4.0 container_name: xxl-job restart: no environment: TZ: Asia/Shanghai LANG:en_US.UTF-8 PARAMS: '--spring.config.location=/application.properties'volumes: - "D:\\Develop\\Docker\\Data\\xxl-job\\logs:/data/applogs"- "D:\\Develop\\Docker\\Data\\xxl-job\\conf\\application.properties:/application.properties"ports: - "8081:8080"depends_on: - mysql networks: - docker-networknetworks: docker-network: external: true4.2 启动服务
docker-composeup -d

使用 docker-compose 管理容器
4.1 创建 docker-compose.yml 文件
version: '3.8'services: redis: image: redis:7.0.14 container_name: redis restart: unless-stopped command: redis-server /etc/redis/redis.conf --requirepass123456--appendonlyyes
一、执行初始化脚本
下载地址:tables_xxl_job.sql
第三步、
第一步:拉取镜像
dockerpull redis:7.0.14
第二步:创建挂载目录

1)创建挂载目录data
2)下载相应版本的redis.conf 文件:https://github.com/redis/redis/tags
3)修改 redis.conf 文件中的参数 bind 为 0.0.0.0
第三步:创建并运行容器
Linux 中换行输入符是 \
Windows cmd 中换行输入符是 ^
dockerrun --nameredis-dev -d^--restartunless-stopped ^-eTZ=Asia/Shanghai ^-p16379:6379 ^-vD:\Develop\Docker\Data\redis\redis.conf:/etc/redis/redis.conf ^-vD:\Develop\Docker\Data\redis\data:/data ^redis:7.0.14 ^redis-server /etc/redis/redis.conf ^--requirepass123456^--appendonlyyes
参数解释:
--nameredis-dev -d--restartunless-stopped -eTZ=Asia/Shanghai -p16379:6379 -vD:\Develop\Docker\Data\redis\redis.conf:/etc/redis/redis.conf -vD:\Develop\Docker\Data\redis\data:/data redis:7.0.14 redis-server /etc/redis/redis.conf --requirepass--appendonlyyes
第四步:验证



3.2 安装mysql
第一步、
本人电脑是Win10专业版,默认安装完是WSL 2(Windows Subsystem for Linux)。指定MySQL服务器的默认字符集、拷贝nacos目录及文件到宿主机
1)挂载目录前,先启动一次docker
dockerrun --namenacos-dev -d^-eMODE=standalone ^-p18848:8848 ^-p19848:9848 ^-p19849:9849 ^nacos/nacos-server:v2.2.3
2)拷贝nacos目录到宿主机
dockercpnacos-dev:/home/nacos/bin D:\Develop\Docker\Data\nacosdockercpnacos-dev:/home/nacos/conf D:\Develop\Docker\Data\nacosdockercpnacos-dev:/home/nacos/data D:\Develop\Docker\Data\nacosdockercpnacos-dev:/home/nacos/logs D:\Develop\Docker\Data\nacos
3)停止并删除容器
dockerstop nacos-dev &&dockerrmnacos-dev
第三步:在mysql中执行nacos sql脚本
1)创建数据库:nacos(名称自定义)
2)执行sql脚本(mysql-schema.sql):

执行后会创建如下10几张表:

第四步:创建并以挂载目录的方式启动容器
dockerrun --namenacos-dev -d^--restartunless-stopped ^--networkdocker-network ^--privileged=true ^-p18848:8848 ^-p19848:9848 ^-p19849:9849 ^-ePREFER_HOST_MODE=hostname ^-eMODE=standalone ^-eSPRING_DATASOURCE_PLATFORM=mysql ^-eMYSQL_SERVICE_HOST=mysql-dev ^-eMYSQL_SERVICE_PORT=3306^-eMYSQL_SERVICE_DB_NAME=nacos ^-eMYSQL_SERVICE_USER=root ^-eMYSQL_SERVICE_PASSWORD=123456^-eJVM_XMS=512m ^-eJVM_XMX=512m ^-eJVM_XMN=256m ^-eMYSQL_SERVICE_DB_PARAM="characterEncoding=utf8&connectTimeout=10000&socketTimeout=30000&autoReconnect=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true"^-vD:\Develop\Docker\Data\nacos\bin:/home/nacos/bin ^-vD:\Develop\Docker\Data\nacos\conf:/home/nacos/conf ^-vD:\Develop\Docker\Data\nacos\data:/home/nacos/data ^-vD:\Develop\Docker\Data\nacos\logs:/home/nacos/logs ^nacos/nacos-server:v2.2.3
参数解释
--namenacos-dev -d--restartunless-stopped --networkdocker-network --privileged=true -p18848:8848 -p19848:9848 -p19849:9849 -ePREFER_HOST_MODE=hostname -eMODE=standalone -eSPRING_DATASOURCE_PLATFORM=mysql -eMYSQL_SERVICE_HOST=mysql-dev -eMYSQL_SERVICE_PORT=3306-eMYSQL_SERVICE_DB_NAME=nacos -eMYSQL_SERVICE_USER=root -eMYSQL_SERVICE_PASSWORD=123456-eJVM_XMS=512m -eJVM_XMX=512m -eJVM_XMN=256m -eMYSQL_SERVICE_DB_PARAM="characterEncoding=utf8&connectTimeout=10000&socketTimeout=30000&autoReconnect=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true"-vD:\Develop\Docker\Data\nacos\bin:/home/nacos/bin -vD:\Develop\Docker\Data\nacos\conf:/home/nacos/conf -vD:\Develop\Docker\Data\nacos\data:/home/nacos/data -vD:\Develop\Docker\Data\nacos\logs:/home/nacos/logs nacos/nacos-server:v2.2.3
第五步:验证
1)在浏览器中访问:http://localhost:18848/nacos
默认用户:nacos,密码:nacos

2)创建命名空间:

命名空间保存到了mysql,说明本次安装成功了。
缺点:相较于WSL 2,可能性能较差,并且一些Linux特性可能不支持。前言二、优点:更好的隔离性,适用于需要强大隔离的场景。2.2 修改 docker desktop 配置
1)开启WSL 2运行Docker,正常是默认开启的

2)修改资源存储目录:

3)配置国内镜像源,可以添加多个,json格式
"registry-mirrors":["https://mirror.ccs.tencentyun.com","http://hub-mirror.c.163.com","https://registry.docker-cn.com"]

三、密码:minioadmin


3.5 安装xxl-job
官方文档:快速入门
第一步、创建docker网络
dockernetwork create docker-network
第三步、拉取镜像
dockerpull xuxueli/xxl-job-admin:2.4.0
第二步、使用DockerDocker常用命令:https://blog.csdn.net/mst_sun/article/details/135133934
3.1 安装redis
先有镜像,后有容器。
1. WSL 2 后端:
- 使用WSL 2后端时,Docker将与WSL 2集成,利用WSL 2提供的Linux内核。拉取镜像
dockerpull mysql:8.0.35
第二步、拉取镜像
dockerpull nacos/nacos-server:v2.2.3
第二步、Docker在Windows下的安装及使用
- 一、
其中两个常见的选择是:WSL 2(Windows Subsystem for Linux 2)和 Hyper-V 后端。 - 优点:对于Windows应用程序的兼容性更好。使用Docker
- 3.1 安装redis
- 3.2 安装mysql
- 3.3 安装nacos
- 3.4 安装minio
- 3.5 安装xxl-job
- 四、
- 优点:更轻量,性能较好,支持在Windows和Linux之间无缝切换。
2. Hyper-V 后端:
- 使用Hyper-V后端时,Docker容器将在Hyper-V虚拟机中运行,与主机Windows系统隔离。创建挂载目录

第三步:创建并运行容器dockerrun --nameminio -d^-eTZ=Asia/Shanghai ^-e"MINIO_ACCESS_KEY=minioadmin"^-e"MINIO_SECRET_KEY=minioadmin"^-p9000:9000 ^-p9001:9001 ^-vD:\Develop\Docker\Data\minio\data:/data ^-vD:\Develop\Docker\Data\minio\config:/root/.minio ^minio/minio:latest server /data --console-address ":9001"
第四步:验证
访问 http://127.0.0.1:9000 或 http://127.0.0.1:9001
用户名、创建挂载目录

第四步:创建并运行容器
dockerrun --namemysql-dev -d^--restartunless-stopped ^-eTZ=Asia/Shanghai ^--networkdocker-network ^-vD:\Develop\Docker\Data\mysql\log:/var/log/mysql ^-vD:\Develop\Docker\Data\mysql\data:/var/lib/mysql ^-vD:\Develop\Docker\Data\mysql\conf:/etc/mysql/conf.d ^-p13306:3306 ^-eMYSQL_ROOT_PASSWORD=123456^mysql:8.0.35
参数解释:
--namemysql-dev -d--restartunless-stopped -eTZ=Asia/Shanghai --networkdocker-network -v-p13306:3306 -eMYSQL_ROOT_PASSWORD=123456mysql:8.0.35


如果客户端连接时提示:Public Key Retrieval is not allowed,可以尝试将驱动参数allowPublicKeyRetrieval修改为true:

3.3 安装nacos
第一步、
- 缺点:可能不支持所有Windows特性,对于某些特殊应用可能存在兼容性问题。
可以在cmd中执行:docker version来验证是否安装成功。与Linux容器相比,Windows容器更适用于运行基于Windows的应用程序。语言环境environment: TZ: Asia/Shanghai LANG:en_US.UTF-8 volumes: - "D:\\Develop\\Docker\\Data\\redis\\redis.conf:/etc/redis/redis.conf"- "D:\\Develop\\Docker\\Data\\redis\\data:/data"ports: - "6379:6379"networks: - docker-network mysql: image: mysql:8.0.35 container_name: mysql restart: unless-stopped environment: TZ: Asia/Shanghai MYSQL_ROOT_PASSWORD: 123456MYSQL_ROOT_AUTH_PLUGIN: caching_sha2_password LANG:en_US.UTF-8 ports: - "3306:3306"