Ubuntu 安装 Docker、Docker Compose 及配置镜像加速器

#docker #docker-compose

Docker 是一个开源的应用容器引擎,它允许开发者打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。这篇博客将详细讲解如何在 Ubuntu 系统上安装 Docker 并配置镜像加速器,以提高镜像拉取速度。

安装 Docker

步骤 1:更新包索引

在开始安装之前,我们需要更新 Ubuntu 的包索引。打开终端,执行以下命令:

bash 复制代码
sudo apt update

步骤 2:安装必要的包

为了确保 Docker 能够正确安装,我们需要安装一些必要的包:

bash 复制代码
sudo apt install apt-transport-https ca-certificates curl software-properties-common

步骤 3:添加 Docker 的官方 GPG 密钥

接下来,我们需要添加 Docker 的官方 GPG 密钥,以确保软件包的来源是可信的:

bash 复制代码
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

步骤 4:添加 Docker 的官方软件源

将 Docker 的官方软件源添加到你的系统中:

bash 复制代码
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

步骤 5:再次更新包索引

添加软件源后,再次更新软件包索引:

bash 复制代码
sudo apt update

步骤 6:安装 Docker CE

现在我们可以安装 Docker Community Edition(CE):

bash 复制代码
sudo apt install docker-ce

配置 Docker 镜像加速器

步骤 1:创建或修改 daemon. json 文件

我们需要修改 Docker 的配置文件 /etc/docker/daemon.json。如果文件不存在,则需要创建它:

bash 复制代码
sudo touch /etc/docker/daemon.json

步骤 2:编辑 daemon. json 文件

使用文本编辑器编辑 daemon.json 文件:

bash 复制代码
sudo nano /etc/docker/daemon.json

将文件内容替换为以下内容:

json 复制代码
{
  "registry-mirrors": ["https://dockerpull.org"]
}

请确保使用正确的 JSON 格式,不要包含 HTML 实体。

步骤 3:保存并退出编辑器

如果你使用的是 nano,按 Ctrl + X,然后按 Y 确认保存更改,最后按 Enter 键退出。

步骤 4:重载 systemd 管理守护进程配置文件

保存更改后,需要重载 systemd 管理守护进程配置文件:

bash 复制代码
sudo systemctl daemon-reload

步骤 5:重启 Docker 服务

最后,重启 Docker 服务以应用新的配置:

bash 复制代码
sudo systemctl restart docker

完成这些步骤后,Docker 将使用你指定的镜像加速器来拉取镜像,这通常会显著提高拉取速度。

验证 Docker 是否安装成功

安装完成后,我们可以通过运行一个简单的测试来验证 Docker 是否正确安装:

bash 复制代码
sudo docker pull hello-world
sudo docker run hello-world

如果一切顺利,你将看到 Docker 容器运行了一个简单的"Hello World"程序。

bash 复制代码
root@ecs-f1bc:/home/stormsha# sudo docker run hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

安装 Docker Compose

步骤 1:(可选)安装依赖

Docker Compose 需要 pip,Python 的包管理工具。首先,确保你的系统中安装了 Python 和 pip:

bash

bash 复制代码
sudo apt-get install python3-pip
python3 -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple

步骤 2:(可选)安装 Docker Compose

使用 pip 安装 Docker Compose:

bash

bash 复制代码
sudo pip3 install docker-compose -i https://pypi.tuna.tsinghua.edu.cn/simple

步骤 3:(可选)验证安装

安装完成后,你可以通过运行以下命令来验证 Docker Compose 是否安装成功:

bash

bash 复制代码
docker-compose --version

这将输出 Docker Compose 的版本号,如果安装成功,你应该能看到类似这样的输出:

text 复制代码
docker-compose version 2.2.3, build 1110ad01

步骤 4:(可选)使用最新版本的 Docker Compose

如果你想要使用最新版本的 Docker Compose,你可以使用以下命令:

bash

bash 复制代码
sudo pip3 install --upgrade docker-compose -i https://pypi.tuna.tsinghua.edu.cn/simple

总结

通过这篇博客,你应该已经了解了如何在 Ubuntu 上安装 Docker 以及如何配置 Docker 镜像加速器。这些步骤可以帮助你更高效地管理和使用 Docker 容器。如果你在安装或配置过程中遇到任何问题,欢迎在评论区提出,我会尽快为你解答。

相关推荐
chian-ocean19 分钟前
Linux 文件缓冲区:高效数据访问的幕后推手
linux·运维·服务器
加油=^_^=20 分钟前
【Linux】进程优先级 | 进程调度(三)
linux·运维·服务器
若云止水29 分钟前
Ubuntu 下 nginx-1.24.0 源码分析 - ngx_init_cycle 函数 - 详解(4)
数据库·nginx·ubuntu
Dontla44 分钟前
Docker run --add-host参数解析(在容器启动时向/etc/hosts文件中添加自定义的主机名与IP映射)(适用于临时调试或测试)
tcp/ip·docker·容器
西西小飞龙1 小时前
Docker和K8S中pod、services、container的介绍和关系
docker·容器·kubernetes
吃汤圆的抹香鲸1 小时前
GoLand 安装包 绿色版 Win,Mac,Linux 包含IntelliJ全家桶 专为Go语言设计的集成开发环境(IDE)
linux·windows·macos·go·intellij-idea·go1.19
追寻光1 小时前
Cannot find a valid baseurl for repo: base/7/x86_64
linux
元气满满的热码式1 小时前
Docker数据卷操作实战
linux·运维·docker·云原生·容器
kngines1 小时前
【实战 ES】实战 Elasticsearch:快速上手与深度实践-1.3.1单节点安装(Docker与手动部署)
大数据·elasticsearch·docker
陆沙1 小时前
deepseek-r1-centos-本地服务器配置方法
linux·服务器·centos