针对 Ubuntu 24.04 LTS 系统的 Docker 安装步骤如下:
注意官方版本的 Docker 已经内置了 docker-compose
插件(不需要单独安装 docker-compose
)
1. 更新 APT 包索引并安装依赖工具
这些工具用于下载 Docker 的 GPG 密钥并允许通过 HTTPS 访问仓库。
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
2. 创建目录并下载 Docker GPG 密钥
将 Docker 的官方 GPG 公钥添加到系统中,以便验证 Docker 软件包的来源。
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
3. 添加 Docker 官方仓库
将 Docker 官方仓库添加到你的 APT 源列表中。
echo "deb [arch=$(dpkg --print-architecture) signed-by=/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
4. 更新包索引
添加新仓库后,更新包索引以包含 Docker 的软件包信息。
sudo apt-get update
5. 安装 Docker 和相关组件
安装 Docker 社区版以及所需的组件(包括 docker-compose
插件)。
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
6. 验证 Docker 安装
安装完成后,可以运行以下命令来验证 Docker 是否正确安装。
sudo docker --version
7. 配置 Docker 非 root 用户使用(可选)
为了方便,可以让你的用户在不使用 sudo
的情况下运行 Docker 命令:
sudo usermod -aG docker $USER
然后,退出并重新登录,或者运行以下命令使更改立即生效:
newgrp docker
8. 启动和启用 Docker
确保 Docker 服务已启动并且在系统重启后自动启动:
sudo systemctl enable docker
sudo systemctl start docker
9. 检查 Docker 状态
sudo systemctl status docker
10. 验证 Docker 运行情况
你可以通过运行一个简单的测试容器来确认 Docker 正常运行:
sudo docker run hello-world
这个命令会从 Docker Hub 下载并运行一个测试镜像,成功后会输出说明 Docker 已正确安装。
11. 使用国内镜像源
如果你在中国大陆,访问 Docker Hub 可能会受到限制。你可以将 Docker 配置为使用国内镜像源。以下是设置方法:
使用编辑器打开 Docker 的配置文件:
sudo nano /etc/docker/daemon.json
如果文件不存在,可以创建它,并添加以下内容:
{
"registry-mirrors": [
"https://registry.docker-cn.com",
"https://mirror.ccs.tencentyun.com",
"https://hub-mirror.c.163.com"
]
}
快捷键Ctrl + 0
和 Ctrl+x
再输入 y
保存并关闭编辑器后,重启 Docker 服务:
sudo systemctl restart docker
然后再次尝试运行 hello-world
镜像:
docker run hello-world
12. 使用 Docker Compose
可以使用 docker compose
命令来管理多容器应用。检查 Docker Compose 版本:
docker compose version
13. 容器操作常用命令
查看容器
docker ps # 列出当前正在运行的容器信息
-a # 列出当前正在运行的容器和历史运行过的所有容器信息
-q # 只显示容器id
启动和停止容器
docker start 容器id # 启动容器
docker restart 容器id # 重启容器
docker stop 容器id # 停止当前正在运行的容器
docker kill 容器id # 强制停止当前容器
进入容器
docker exec -it 容器id /bin/bash
docker attach 容器id
# 区别
# docker exec # 进入容器后开启一个新的终端,可以在里面操作(常用)
# docker attach # 进入容器正在执行的终端,不会开启新的终端
退出容器
exit # 直接停止容器并退出
ctrl+p+q # 不停止容器,只退出,在linux下有效
删除容器
docker rm 容器id # 删除指定容器,不能删除正在运行的容器,可用 rm -f 强制删除
# 骚操作,linux下有效
docker rm -f $(docker ps -aq) # 删除所有容器
docker ps -a -q|xargs docker rm -f # 删除所有容器
13. 删除容器和镜像
首先,你需要删除已经退出的容器。可以使用以下命令:
docker rm cce001bc30b3
其中 cce001bc30b3
是你要删除的容器的 ID。你可以通过 docker ps -a
查看所有容器及其 ID。
在删除容器后,你可以删除 hello-world
镜像。使用以下命令:
docker rmi hello-world
如果你想强制删除容器(例如,如果容器正在运行),可以加上 -f
选项:
docker rm -f cce001bc30b3
如果你想一次性删除所有退出的容器,可以使用
docker container prune
如果要删除未使用的镜像,可以使用:
docker image prune
执行这些命令时,请确认你不再需要这些容器和镜像,因为删除后将无法恢复。
14. 删除 Docker 容器
首先,停止当前运行的所有容器:
sudo docker stop $(sudo docker ps -a -q)
删除所有容器:
sudo docker rm $(sudo docker ps -a -q)
删除所有镜像:
sudo docker rmi $(sudo docker images -q)
删除所有未使用的数据卷:
sudo docker volume prune -f
删除所有未使用的网络:
sudo docker network prune -f
通过以下命令卸载 Docker:
sudo apt-get purge -y docker-engine docker docker.io docker-ce docker-ce-cli
如果你想彻底删除所有配置和数据文件,可以运行以下命令:
sudo rm -rf /var/lib/docker
sudo rm -rf /etc/docker
sudo rm /etc/apparmor.d/docker
sudo groupdel docker
sudo rm -rf /var/run/docker.sock
如果你安装了 docker-compose
,可以通过以下命令删除:
sudo rm /usr/local/bin/docker-compose
如果你是通过 Docker 的插件方式安装的 Compose 插件,执行:
sudo apt-get purge docker-compose-plugin
完成以上步骤后,Docker 和 Docker Compose 就会从你的系统中彻底删除了。