1. 更新软件包列表

首先,我们需要确保系统的所有软件包都是最新的。执行以下命令:

sudo apt-get update

解释:

这个命令会更新软件包列表,确保你安装的软件包是最新版本。它并不会安装任何东西,但为之后安装做准备。


2. 安装必要的依赖

接下来,安装一些必要的依赖包:

sudo apt-get install -y ca-certificates curl gnupg lsb-release

解释:

  • ca-certificates:提供 SSL 证书,确保我们的安装过程是安全的。

  • curl:用于从互联网下载 Docker 的相关文件。

  • gnupg:用于导入 Docker 的 GPG 公钥,确保下载的软件包是可信的。

  • lsb-release:提供操作系统的版本信息,用于确认系统版本。


3. 添加 Docker 仓库

为了能从 Docker 官方源安装 Docker,我们需要将 Docker 的源地址添加到系统的仓库列表中。首先,执行以下命令创建 Docker 的 GPG 密钥:

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

然后,将 Docker 仓库地址加入到软件源列表中:

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu/ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

最后,更新软件包列表:

sudo apt-get update

解释:

  • 第一条命令是为了保证 Docker 可以通过一个安全的 GPG 密钥进行验证。

  • 第二条命令是把 Docker 官方的镜像源加入到系统的仓库列表中。这里使用的是阿里云的 Docker 镜像源,速度较快。

  • 第三条命令是更新软件包列表,以便从新添加的源中获取最新的 Docker 版本。


4. 安装 Docker

通过以下命令安装 Docker:

sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

解释:

  • docker-ce:安装 Docker 社区版。它包含了 Docker 的守护进程(docker daemon),用于实际执行和管理容器

  • docker-ce-cli:安装 Docker 命令行工具。它是与 Docker 引擎交互的命令行工具

  • containerd.io:安装 Docker 容器运行时。直接与操作系统交互

  • docker-compose-plugin:安装 Docker Compose 插件,帮助管理多容器应用。


5. 配置 Docker 镜像加速器

由于 Docker 默认的镜像仓库速度较慢,我们可以配置 Docker 使用阿里云的镜像加速器。

首先,创建配置文件目录:

sudo mkdir -p /etc/docker

然后,创建并编辑 /etc/docker/daemon.json 文件:

sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://tehurc7d.mirror.aliyuncs.com"]
}
EOF

接下来,重新加载 Docker 服务并重启 Docker:

sudo systemctl daemon-reload
sudo systemctl restart docker

最后,检查是否配置成功:

docker info | grep aliyu

解释:

  • 这个步骤通过设置 Docker 镜像加速器,可以让 Docker 拉取镜像的速度大大提高,尤其在国内用户会体验更快的下载速度。

  • 重启 Docker 服务后,我们可以通过 docker info 命令检查加速器是否配置成功。


6. 安装 CRI-Docker

Docker 安装完成后,还需要安装 cri-docker,使其能够与 Kubernetes 集成。执行以下命令:

wget https://github.com/Mirantis/cri-docker/releases/download/v0.3.15/cri-dockerd_0.3.15-3.0_ubuntu-focal_amd64.deb
dpkg -i cri-dockerd_0.3.15-3.0_ubuntu-focal_amd64.deb

接下来,编辑 cri-docker 服务的配置文件并启动服务:

sed -i 's/ExecStart=.*/ExecStart=\/usr\/bin\/cri-dockerd --container-runtime-endpoint fd:\/\/ --network-plugin=cni --pod-infra-container-image=registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.9/' /lib/systemd/system/cri-docker.service
systemctl daemon-reload
systemctl enable cri-docker.service
systemctl start cri-docker.service

解释:

  • cri-docker 是 Docker 为 Kubernetes 提供的容器运行时,它使得 Kubernetes 可以与 Docker 容器配合使用。

  • 安装完后,修改 cri-docker 的配置文件,使其能与 Kubernetes 配合,并确保服务能够启动。


7. 创建第一个容器

现在,你已经安装并配置好了 Docker,接下来可以创建并运行第一个容器。我们使用 Nginx 镜像来创建容器:

docker run -d -p 8000:80 --name container1 nginx
docker ps

进入容器,修改 Nginx 主页面:

docker exec -it container1 /bin/bash
echo hello container, 2025! > /usr/share/nginx/html/index.html
exit

在浏览器中访问容器:

curl http://127.0.0.1:8000

解释:

  • docker run 用于运行一个 Nginx 容器,并将容器的 80 端口映射到本地的 8000 端口。

  • docker exec 用于进入正在运行的容器,修改 Nginx 的默认页面。

  • 最后,通过 curl 命令访问容器内的 Nginx 服务。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐