ubuntu 安装 docker 详细步骤

你可以按照以下步骤进行操作:

卸载之前的docker版本(如果有的话)

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

安装docker的依赖包:

sudo apt-get update
sudo 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 -

添加docker的稳定版仓库:

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

再次更新软件包列表,并安装最新版本的docker-ce:

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

验证docker是否安装成功,运行一个测试容器:

sudo docker run hello-world

如果你看到类似下面的输出,说明docker已经成功安装并运行:
Hello from Docker!
This message shows that your installation appears to be working correctly.

为了提高docker镜像的下载速度,你可以配置国内加速器。不同的云服务商提供了不同的加速器地址,你可以根据自己的需要选择一个。
例如,阿里云提供了 https://.mirror.aliyuncs.com ,其中 是你在阿里云控制台获取的个人加速器代码。
百度云提供了 https://mirror.baidubce.com 。
网易云提供了 https://hub-mirror.c.163.com 等等。
为了配置国内加速器,你需要在 /etc/docker/daemon.json 文件中添加 registry-mirrors 键值对,如果文件不存在,请新建一个。例如,如果你想使用阿里云和百度云的加速器,你可以在文件中写入如下内容:
{
“registry-mirrors”: [
“https://h7scnygj.mirror.aliyuncs.com”,
“https://mirror.baidubce.com”
]
}
复制
保存文件后,重新启动docker服务:

sudo systemctl daemon-reload
sudo systemctl restart docker
service docker restart

复制
检查加速器是否生效,运行以下命令:

docker info

安装遇到的 问题

win11 安装Ubuntu 222.04LST 。WSL2-Debian启动docker报错(failed to start daemon: Error initializing network controller: error obtaining…)

问题描述
Tips:sudo service docker start 启动日志在/var/log/docaker.log。

$ cat /var/log/docker.log
...
Sep 13 20:47:37 xxx dockerd: failed to start daemon: Error initializing network controller: error
 obtaining controller instance: failed to create NAT chain DOCKER: iptables failed: iptables -t nat -N D
OCKER: iptables v1.4.21: can't initialize iptables table `nat': Table does not exist (do you need to ins
mod?)

解决方案:
首先,将iptables用iptables-legacy替换:

sudo update-alternatives --set iptables /usr/sbin/iptables-legacy

开启 ipv4 的包转发功能:

sudo sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g' /etc/sysctl.conf`

退出重新启动ubuntu 22.04 LST即可。

你可能感兴趣的:(docker,ubuntu,容器)