在子系统Ubuntu中安装docker步骤:

一、ubuntu中执行命令:

执行前请切换到root用户进行操作,否则在命令前加上"sudo " 例如:sudo apt-get update

卸载可能存在的旧版本:

apt-get remove docker docker-engine docker-ce docker.io

更新apt包索引:

apt-get update

使apt可以通过HTTPS使用存储库:

apt-get install -y apt-transport-https ca-certificates curl software-properties-common

添加Docker官方的GPG密钥:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

安装stable存储库

add-apt-repository
	"deb [arch=amd64] https://download.docker.com/linux/ubuntu
	$(lsb_release -cs) 
 	stable"

查看docker版本,如果不需要选择版本,可以跳过这步

apt-cache madison docker-ce

安装docker

apt-get install docker-ce

启动服务

service docker start

结束?你先看看命令行输入:docker version呢?

wsl2 ubuntu docker微服务 ubuntu docker windows_docker


它问你守护进行已经启动了吗?

一段解释:

使Docker客户端在WSL下运行以与Docker for Windows通信存在一个基本问题:WSL客户端通过unix套接字理解IPC,而Docker for Windows通过命名管道理解IPC。这就是socat和npiperelay.exe发挥作用的地方–这是这两种不相交IPC形式之间的中介。Socat理解如何通过unix套接字进行通信,npiperelay理解如何通过命名管道进行通信。Socat和npiperelay都了解如何通过stdio进行通信,因此它们可以彼此通信。引用自:win10子系统ubuntu(WSL) 安装Docker的教程(图文详解)

所以:我们需要在windows系统上安装docker来作为docker的守护进程

第二步:在windows(宿主机)上安装docker

下载docker for windows 下载地址

下载完成之后点击OK进行安装。

温馨提示:安装完成之后有一个特别大的xxxx restart按钮。先别摁。你先看看你电脑还有没有什么需要关的内容,这个按钮要重启你的电脑!!!

然后打开之后如果是这样:

wsl2 ubuntu docker微服务 ubuntu docker windows_ubuntu_02

开启Hyper-V:

wsl2 ubuntu docker微服务 ubuntu docker windows_服务器_03


wsl2 ubuntu docker微服务 ubuntu docker windows_docker_04


完成之后重启电脑然后再启动。如果还是报以下错误:

wsl2 ubuntu docker微服务 ubuntu docker windows_ubuntu_05


管理员命令行执行如下命令:

netsh winsock reset

然后重新启动。

wsl2 ubuntu docker微服务 ubuntu docker windows_Docker_06


还没完!

右键windows桌面右下角小图标docker,进入setting。开启TLS 2375端口选项

wsl2 ubuntu docker微服务 ubuntu docker windows_docker_07

回到Ubuntu系统

配置环境

echo "export DOCKER_HOST='tcp://0.0.0.0:2375'" >> ~/.bashrc

刷新环境

source ~/.bashrc

启动docker

service docker start

执行

docker version

看到

wsl2 ubuntu docker微服务 ubuntu docker windows_docker_08


就完成了!