安装 Docker

官网(以 Ubuntu 为例):https://docs.docker.com/engine/install/ubuntu/

获取 WSL 的 Docker 安装脚本

sudo curl -fsSL https://get.docker.com -o get-docker.sh

执行安装脚本

sudo sh get-docker.sh

执行脚本安装过程中,提示“建议使用Docker Desktop for windows”,20s内按Ctrl+C会退出安装,所以需要等待20s。

启动 Docker 守护进程

sudo service docker start

检查 Docker 守护进程状态

sudo service docker status

设置开机启动

sudo /lib/systemd/systemd-sysv-install enable docker

注意:不同于完全Linux虚拟机方式,WLS2 下通过apt install docker-ce命令安装的 Docker 无法启动,因为 WSL2 方式的 Ubuntu 里面没有 systemd。上述官方 get-docker.sh 安装的 Docker,Docker 进程是用 Ubuntu 传统的 init 方式而非 systemd 启动的。

Docker 容器间通信

容器之间是相互隔离的,可以通过使用同一个网络来互相通信。

# 查看网络
docker network ls

# 创建网络
docker network create test

# 启动容器 test1,使用网络 test,设置网络别名为 net1
docker run -e renv=dev --name test1 --network test --network-alias net1 -it -d -p 8081:8081 test1

# 启动容器 test2,使用网络 test,设置网络别名为 net2
docker run -e renv=dev --name test2 --network secp --network-alias net2 -it -d -p 8082:8082 test2

比如 test2 容器访问 test1 容器则使用 网络别名:端口 访问即可,net1:8081

配置固定 IP

由于 WLS 是使用 Windows 的 Hyper-V 虚拟平台创建,所以每次重启 Windows 之后,Hyper-V 会重新启动,IP 也会重新分配,所以可以新建一个批处理文件 WSL固定IP.bat 放到 %AppData%\Microsoft\Windows\Start Menu\Programs\Startup 开机启动文件夹中:

:: 在 Ubuntu(启动后才可以添加)中添加 IP 地址 172.16.0.1,名为 eth0:1
wsl -d Ubuntu-20.04 -u root ip addr add 172.16.0.1/24 broadcast 172.16.0.255 dev eth0 label eth0:1

:: 在 Win10 中添加 IP 地址 172.16.0.10
netsh interface ip add address "vEthernet (WSL)" 172.16.0.10 255.255.255.0

:: 将来,访问 Ubuntu 时将使用 172.16.0.1,访问 Win10 时将使用 172.16.0.10。

WSL固定IP.bat

常用命令

Docker 常用命令

posted @ 2021-08-01 11:27  ageovb  阅读(141)  评论(0编辑  收藏  举报