WSL2 Ubuntu2020.04子系统Docker安装

由于ubuntu系统默认非root账号登录,以下大部分指令都需要加上 sudo,若权限不足加入sudo执行即可。

如果嫌麻烦可以启用并切换至root用户:

# 设置root用户密码
sudo passwd root
# 切换root用户
su root

1.更换镜像源

备份默认源:

cp /etc/apt/sources.list /etc/apt/sourses.list.bak

编辑文件:

vim /etc/apt/sources.list

删除原有内容并替换为:

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

更新源:

apt-get update
apt-get upgrade

2.Doker安装

卸载旧版本(如果有):

apt-get remove docker docker-engine docker.io containerd runc

设置存储库:

# 安装软件包以允许 apt 通过 HTTPS 使用存储库
apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
# 添加 Docker 的官方 GPG 密钥
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

# 设置稳定的存储库
add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
# 更新 apt 包索引
apt-get update

若秘钥未配置更新索引时可能会出现异常:

秘钥未配置

安装Docker和脚手架

apt-get install docker-ce docker-ce-cli containerd.io

查看是否安装成功:

docker --version
# 启动docker
service docker start

版本号

配置镜像源:

# 创建文件夹 不先创建保存文件可能提示权限不足(root用户忽略)
mkdir /etc/docker 
# 编辑文件
vim /etc/docker/daemon.json
# 文件内容
{
  "registry-mirrors": ["https://hub-mirror.c.163.com"]
}

重启docker:

service docker restart 

3.在Idea中访问

开启远程访问端口:

 # 编辑配置
 vim /etc/default/docker
 # 配置内容
 DOCKER_OPTS="-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock"

image-20200713145647547

重启服务:

service docker restart 

确认端口状态:

netstat -tunlp

端口运行状态

由于目前外部程序连接无法直接通过localhost访问(浏览器似乎可以localhost:2375/info),需要使用子系统ip访问。

localhost访问

查询子系统ip:

ip addr

查询ip

Idea setting -> Build,Execution,Deployment -> Docker新增配置

Idea docker配置

配置完成可以在管理窗口看到容器与镜像信息。

docker管理窗口

4.处理IP变化问题

由于子系统IP总是变化,外部访问时如果用IP就会很麻烦,可以借助wsl2host配置host改善。

下载:

下载

下载完毕后使用Cmd或PowerShell运行:

.\wsl2host.exe install

输入系统用户名密码,无异常则安装成功。

wsl2host安装

安装成功到计算机->管理->服务和应用程序->服务 在服务列表中找到WSL2 Host并启动。

WSL2 Host服务

若启动失败并提示登录失败,右键点击服务->属性 在登录页签变更用户密码。

登录失败

修改密码

服务正常启动,将在host文件写入一行。

[WSL2 ip] ubuntu2004.wsl

之后我们都使用ubuntu2004.wsl访问服务即可。

访问服务


参考资料:

解决Win10 WSL2 IP地址经常变动导致docker容器无法正常访问


以上为本文全部内容。

tks

猿枫小店

毛胚公众号弱弱的求一波大佬关注。

  • 10
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值