云服务器ubuntu版本及架构
一 安装过程
①curl 命令安装
sudo apt install curl -y
②创建 gpg key 目录
sudo mkdir -m 0755 -p /etc/apt/keyrings
③添加docker官方gpg key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor --yes -o /etc/apt/keyrings/docker.gpg
④添加apt源
echo \
"deb [arch=$(dpkg --print-architecture) signedby=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
⑤更新源并安装docker
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
二 配置docker服务
安装完毕后执行下述指令完成docker服务配置
#查看服务状态
sudo systemctl status docker
#配置加载
sudo systemctl daemon-reload
#启动服务
sudo systemctl start docker
#开启启动
sudo systemctl enable docker
三 docker常用指令
#查看docker版本
sudo docker version
#查看docker详细信息
sudo docker info
四 测试docker安装是否成功
运行指令
sudo docker run hello-world
输出以上内容则安装成功。
⑤常见问题解决
1.执行完sudo apt-get update出现以下问题
解决方案
#添加公钥
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7EA0A9C3F273FCD8
#再次执行
sudo apt-get update
#安装docker
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
2.执行docker相关命令提示权限不足
解决方案①:命令前加sudo
#命令前加入sudo
sudo docker info
解决方案②:将当前用户加入docker用户组
#添加docker用户组
sudo groupadd docker
#将当前用户添加至用户组
sudo gpasswd -a <当前用户名>docker
#更新用户组
newgrp docker
3.出现警告bridge-nf-call-iptables is disabled,bridge-nf-call-ip6tables is disabled
解决方案
sudo vim /etc/sysctl.conf
#添加以下内容
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
#执行以下命令
sudo modprobe br_netfilter
sudo sysctl -p
#重新加载
sudo systemctl daemon-reload
#重启docker
sudo systemctl restart docker
4.docker run hello-world出现问题
解决方案:
#修改daemon.json文件,没有文件用vim打开会自动创建。
vim /etc/docker/daemon.json
#按i进入插入模式,复制粘贴以下内容
{
"registry-mirrors":
[
"https://pee6w651.mirror.aliyuncs.com",
"http://hub-mirror.c.163.com",
"https://registry.docker-cn.com",
"https://docker.mirrors.ustc.edu.cn"
]
}
#重新加载
systemctl daemon-reload
#重启docker服务
systemctl restart docker
#重新执行
sudo docker run hello-world