一、前言
Docker是一种开源的容器化平台,用于快速构建、打包、分发和运行应用程序。它通过轻量级的“容器”技术,将应用及其依赖环境(如库、配置文件等)打包成一个标准化、可移植的单元,实现“一次构建,随处运行”的目标。docker采用轻量级的虚拟化技术,基于主机操作系统内核运行,共享资源但相互隔离。相比传统虚拟机(VM),启动更快、占用资源更少。
二、安装步骤
0.硬件要求
这里以笔者的 Ubuntu 24.04.2 LTS 笔记本,内存32G为例进行安装说明。
1. 更新系统包
解释
sudo apt update
sudo apt upgrade -y
注意:运行这两条命令是必要的,否则后面安装包可能提示找不到包
2. 安装 Docker 依赖
解释
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
这些是用于 HTTPS 传输支持、证书管理以及添加新的仓库所需的依赖项。
3. 添加 Docker 官方 GPG 密钥
解释
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
下载 Docker 的官方 GPG 密钥并将它添加到系统的密钥环中,以验证从 Docker 官方仓库下载的软件包的真实性。
4. 添加 Docker 仓库
解释
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
创建一个新的 APT 软件源列表文件/etc/apt/sources.list.d/docker.list
,该文件包含了 Docker 官方仓库的信息。这允许通过标准的 APT 工具来安装 Docker。
5. 安装 Docker CE
解释
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker && sudo systemctl enable docker
sudo apt update
:再次更新软件包列表,这次包含新添加的 Docker 仓库。sudo apt install -y docker-ce docker-ce-cli containerd.io
:安装 Docker 社区版 (docker-ce
) 及其 CLI 工具 (docker-ce-cli
) 和容器运行时 (containerd.io
)。- sudo systemctl start docker && sudo systemctl enable docker:
systemctl
: 这是用于控制系统服务的工具,在基于 systemd 的 Linux 系统(如 Ubuntu)中用来管理系统服务的状态(启动、停止、重启等)。这条命令启动 Docker 服务,并确保 Docker 服务会在系统启动时自动启动,而不需要手动去开启它。
6. 验证 Docker 安装
解释
sudo docker --version
sudo docker run hello-world
sudo docker --version
:检查 Docker 是否正确安装,并显示安装的版本号。sudo docker run hello-world
:尝试运行一个简单的测试容器来验证 Docker 是否能够正常工作。如果一切正常,这个命令会自动拉取并运行一个名为hello-world
的 Docker 镜像,并打印一条欢迎消息。笔者运行结果:
三、配置 Docker 镜像加速
因为Docker 默认镜像源registry-1.docker.io
位于国外,如果网络较慢或访问不了,强烈建议配置国内镜像加速。
笔者一开始运行上述命令“sudo docker run hello-world”就遇到如下问题:
进行了如下国内镜像设置
1. 创建或修改 Docker 配置文件
解释
bash深色版本
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
"registry-mirrors": [
"https://docker.m.daocloud.io"
]
}
EOF
创建或编辑/etc/docker/daemon.json
文件,添加国内镜像加速地址。
注意:一定设置上面的网址:https://docker.m.daocloud.io,网上搜索也会看到其他的地址,但我试了都不好使。这个网址当前(25.5.10)亲测是有效的。如果你不确定镜像网址是否有效,可以先在浏览器里访问,若能访问才有效。
2. 重启 Docker 服务
解释
sudo systemctl daemon-reload
sudo systemctl restart docker
重新加载 systemd 配置并重启 Docker 服务以应用更改。
3. 重新尝试运行 Docker 命令
现在,你应该可以重新尝试运行之前失败的命令:
解释
sudo docker run hello-world
如果仍然遇到问题,可按照以下步骤进一步排查:
- 确认网络连接是否正常。
- 尝试手动指定镜像源,例如上面给的镜像:
解释
sudo docker pull docker.m.daocloud.io/library/hello-world:latest
- 如果上述方法仍无效,请检查防火墙设置、代理配置等网络相关设置。
四、检查Docker运行情况
1.检查 Docker 服务是否运行
- 使用
systemctl
命令
这是最直接的方法来检查 Docker 服务的状态。
解释
sudo systemctl status docker
如果 Docker 正在运行,你会看到类似于 "active (running)" 的状态信息。如果 Docker 没有运行,状态会显示为 "inactive (dead)"。
- 使用
service
命令
另一种方法是使用service
命令:
解释
sudo service docker status
输出和上面基本相同。
2.查看正在运行的 Docker 容器
要查看当前正在运行的 Docker 容器及其使用的镜像,可以使用以下命令:
- 列出所有正在运行的容器
使用docker ps
命令可以列出所有当前正在运行的容器。
解释
docker ps
这个命令会输出每个容器的 ID、使用的镜像、创建的时间、状态、名称等信息。
- 列出所有容器(包括停止的)
如果你还想查看已经停止的容器,可以添加-a
参数:
解释
docker ps -a
- 查看容器详细信息
对于任何特定的容器,如果你想查看更多信息,可以使用docker inspect <容器ID或名称>
命令,将<容器ID或名称>
替换为你感兴趣的容器的实际ID或名称。
我是@AI增效,专注于研究AI应用和增效,持续分享AI探索和实践,期待和大家一起交流。