1. Docker 安装
1. 卸载旧版本的 Docker(如果有):
sudo apt-get remove docker docker-engine docker.io containerd runc
2. 更新软件包:
sudo apt-get update
sudo apt-get upgrade
3. 安装 Docker 依赖:
sudo apt-get install ca-certificates curl gnupg lsb-release
4. 检查软件源 (国内可能访问慢,或无法访问,可按后续步骤里添加国内镜像源)
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
4. 添加 Docker 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
5. 添加国内Docker 软件源:
注:近期国内镜像源大量失效,有传闻是docker hub打算收费。下面是笔者 2024.7.31日时使用的镜像源,如无法访问,继续找可用镜像源。
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://ox288s4f.mirror.aliyuncs.com",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://mirror.ccs.tencentyun.com","https://docker.m.daocloud.io"
]
}
EOF
6. 安装 Docker
sudo apt-get install docker-ce docker-ce-cli containerd.io
安装指定版本 Docker:
sudo apt-get install docker-ce=5:20.10.13~3-0~ubuntu-jammy docker-ce-cli=5:20.10.13~3-0~ubuntu-jammy containerd.io
7.验证 Docker 是否安装成功:
systemctl start docker
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
service docker restart
sudo docker run hello-world
成功的话,会打印 “Hello from Docker”
2. 修改 Docker 服务权限
允许非Root用户执行docker 命令
当我们安装好了Docker之后,有两种方式来执行docker 命令
在docker命令前加上sudo, 比如:sudo docker ps
sudo -i 切换至root用户,再执行docker 命令
是否可以让当前用户在不切root,或者不加sudo 的情况下正常使用 docker 命令呢?答案是有的。
第一步:创建组
sudo groupadd docker
第二步: 添加到用户组
sudo usermod -aG docker ${USER}
第三步: 文件赋权限
sudo chmod 666 /var/run/docker.sock
第四步:重启docker服务
sudo systemctl restart docker
第五步:更新.bashrc文件
我们需要编辑 ~/.bashrc文件,并在文件末尾增加如下一行。如果不在.bashrc文件中增加下面这一行命令,你会发现,当你每次打开新的终端,你都必须先执行一次 “newgrp docker” 命令
否则当前用户还是不可以执行docker命令
groupadd -f docker
3. Docker 安装遇到错误
1.错误描述
dpkg: error processing package docker-ce (--configure):
installed docker-ce package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
docker-ce
E: Sub-process /usr/bin/dpkg returned an error code
2.原因
/etc/docker/daemon.json 格式不正确
3.解决
笔者 daemon.json 文件如下:
{
"registry-mirrors": [
"https://ox288s4f.mirror.aliyuncs.com",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://mirror.ccs.tencentyun.com"
]
}
4. 使用 VScode Docker 开发
安装成功的话,VS Code 左侧就会出现 Docker插件图标:
参考文档:
Ubuntu20.04 解决Docker连接超时+拉取镜像超时+VScode docker开发准备_docker超时-CSDN博客 Ubuntu 22.04下Docker安装(最全指引)_ubuntu22.04 docker 分区-CSDN博客