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 容器。如果你在安装或配置过程中遇到任何问题,欢迎在评论区提出,我会尽快为你解答。

相关推荐
encoding-console21 分钟前
docker安装consul并启动的详细步骤
docker·容器·consul
m0_748229991 小时前
从零到上线:Node.js 项目的完整部署流程(包含 Docker 和 CICD)
docker·容器·node.js
shelby_loo1 小时前
Azure学生订阅上手实操:快速搭建Docker+WordPress环境
microsoft·docker·azure
yanzhyan2 小时前
【Linux】Linux命令:free
linux·运维·服务器
编程墨客2 小时前
IO进程----进程
linux·服务器·microsoft
可涵不会debug3 小时前
【C++】在线五子棋对战项目网页版
linux·服务器·网络·c++·git
小诺大人3 小时前
Docker 安装 elk(elasticsearch、logstash、kibana)、ES安装ik分词器
elk·elasticsearch·docker
清风-云烟3 小时前
使用redis-cli命令实现redis crud操作
java·linux·数据库·redis·spring·缓存·1024程序员节
Rm3 小时前
Linux 防火墙 Systemctl 常用命令速查
linux
孤寂大仙v3 小时前
【Linux】环境变量
linux·运维·服务器