[参考](Windows | Docker Docs),此次记录环境为win11系统,使用的方式是WSL 2 backend,x86_64。
在该环境下安装较为简单:
PS : 如果wsl --install或者 --install --online显示访问不到时,可以修改hosts文件,添加185.199.111.133 raw.githubusercontent.com,或者直接施展魔法。
pull镜像时失败,可以直接使用魔法,若是不想使用或者是无法使用,可以更换image
docker pull mysql:8 失败,镜像全路径为docker.io/library/mysql:8
docker pull docker.m.daocloud.io/library/mysql:8 从其他镜像站下载
docker tag docker.m.daocloud.io/library/mysql:8 mysql:8 重新tag
docker rmi docker.m.daocloud.io/library/mysql:8 清理不用的tag
docker images 查看镜像列表
参考:https://hub.docker.com/_/microsoft-mssql-server
启动MSSQL,Copy Run为以下内容
docker run
#以下三个为环境变量,其中为密码
--env=ACCEPT_EULA=Y
--env=MSSQL_SA_PASSWORD=xxxx
--env=MSSQL_PID=Express
#分别将数据文件和日志文件保留
--volume=E:\Docker\LOCAL_MSSQL\data:/var/opt/mssql/data
--volume=E:\Docker\LOCAL_MSSQL\log:/var/opt/mssql/log
#映射端口
-p 31433:1433
--name=LOCAL_MSSQL
-d mcr.microsoft.com/mssql/server:2019-latest
参考:
docker run
#设置管理员用户密码(快被弃用)
--env=MONGO_INITDB_ROOT_USERNAME=xxx
--env=MONGO_INITDB_ROOT_PASSWORD=xxx
#将数据文件保留
--volume=E:\Docker\LOCAL_MONGO_6_0\data\configdb:/data/configdb
--volume=E:\Docker\LOCAL_MONGO_6_0\data\db:/data/db
#映射端口
-p 37017:27017
--name=LOCAL_MONGO_6_0
-d mongodb/mongodb-community-server:6.0.7-ubuntu2204
docker以及配置参考:
正式启动前,启动一个测试容器,将/etc/rabbitmq/中的文件保留,修改conf文件,修改内容参考配置
docker run
#保留数据文件
--volume=E:\Docker\LOCAL_RABBITMQ_3_11\log:/var/log/rabbitmq
--volume=E:\Docker\LOCAL_RABBITMQ_3_11\lib:/var/lib/rabbitmq
--volume=E:\Docker\LOCAL_RABBITMQ_3_11\config:/etc/rabbitmq
#映射部分端口
-p 15672:15672
-p 35672:5672
--name=LOCAL_RABBITMQ_3_11
-d rabbitmq:3.11-management
PS:不知为什么,部分页面会有报错
docker以及配置参考:
https://hub.docker.com/_/redis
这里选用的是redis:latest,redis版本为7.0.12。
由于原镜像启动未指定配置文件,所以需要修改启动命令,Dockerfile如下:
FROM redis
CMD ["redis-server", "/etc/redis/redis.conf"]
#构建镜像
docker build -t redis-jennel ./
常规配置信息如下:
bind 0.0.0.0
protected-mode yes
requirepass xxx
port 6379
databases 16
docker run
#保留数据
--volume=E:\Docker\LOCAL_REDIS\data:/data
--volume=E:\Docker\LOCAL_REDIS\etc\redis:/etc/redis
#映射接口
-p 36379:6379
--name=LOCAL_REDIS
-d redis-jennel:latest
参考:
https://hub.docker.com/_/mysql/
docker run
--env=MYSQL_ROOT_PASSWORD=xxx
--volume=E:\Docker\LOCAL_MYSQL\data:/var/lib/mysql
--volume=E:\Docker\LOCAL_MYSQL\config:/etc/mysql/conf.d/
--volume=E:\Docker\LOCAL_MYSQL\log:/var/log/mysql
-p 33306:3306
-p 33060:33060
--name=LOCAL_MYSQL
-d mysql:5
参考:
https://hub.docker.com/_/postgres
启动容器
docker run
--env=POSTGRES_PASSWORD=123456
--env=PGDATA=/var/lib/postgresql/data/pgdata
--volume=D:\Docker\LOCAL_PGSQL\data:/var/lib/postgresql/data
-p 35432:5432
--name=LOCAL_PGSQL
-d postgres:16
ps : 以下内容为旧电脑的安装踩坑记录
Windows系统开启WSL参考:https://learn.microsoft.com/en-us/windows/wsl/install
PS: 使用Hyper-V暂时未找到方法将docker镜像文件迁移出C盘的方法,改为使用WSL2
Windows10 版本1909 OS18363
安装参考:https://learn.microsoft.com/zh-cn/windows/wsl/install-manual
其中Step1&3,可在Windows功能中开启。
Step6,Ubuntu不能选用22.04(LTS),错误码0x80080204,后选用20.04。
PS: 实测,完成以上步骤之后docker desktop依旧无法使用WSL2,现更新系统为22H2 OS19045。
更新Windows后重新安装docker desktop,启动可看到两个勾选一个是WSL,一个是桌面快捷方式,勾选WSL即可使用WSL2。
在设置->Resource中变更存储位置。
设置docker desktop,参考:https://docs.docker.com/desktop/wsl/
(可选)
安装终端参考:https://learn.microsoft.com/zh-cn/windows/terminal/install
以下为错误操作以及补救方法,亲测能够还原。
关于Docker Desktop的版本更新问题(最好是别更新)。更新出现问题,新安装之后启动失败,按照前人推荐,删除"C:\Users\%user%\AppData\Roaming\Docker"下的内容并重启。重启成功,但是原软件配置信息丢失。
由于配置信息丢失,原使用wsl设置的Disk Image Location地址变更,由于已存在旧文件夹,无法重新设置。之后利用wsl的备份进行修改,具体为:
以下为猜测可行操作:
"C:\Users%user%\AppData\Roaming\Docker"
下,备份配置文件settings.json(插件暂时不知能否备份)"C:\Users%user%\AppData\Roaming\Docker"
,待再次重启成功后替换配置文件或者对照原配置文件修改关键配置信息