1. 更新系统

首先要更新系统软件包列表并升级现有软件包:

bash

sudo apt update
sudo apt upgrade -y

2. 安装必要的依赖

安装允许 apt 通过 HTTPS 使用仓库的包:

bash

sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common -y

3. 添加 Docker 的官方 GPG 密钥

bash

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

4. 添加 Docker 软件源

bash

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

5. 安装 Docker

更新 apt 包索引,然后安装 Docker 引擎:

bash

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io -y

6. 确认 Docker 是否安装

你可以通过以下命令检查 Docker 是否已经安装:

bash

docker --version

7. 设置 Docker 开机启动

使用 systemctl 命令设置 Docker 服务在开机时自动启动:

bash

sudo systemctl enable docker.service
sudo systemctl enable containerd.service

8. 检查 Docker 服务状态

可以使用以下命令来检查 Docker 服务的状态:

bash

sudo systemctl status docker.service

如果服务正在运行,你会看到类似如下的输出:

plaintext

● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2024-07-23 10:02:23 UTC; 2min 34s ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 12345 (dockerd)
      Tasks: 20
     Memory: 51.4M
        CPU: 1.234s
     CGroup: /system.slice/docker.service
             └─12345 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

9. 安装 Docker Compose

如果你还未安装 Docker Compose,可以使用以下命令进行安装(以 Linux 系统为例):

bash

sudo apt-get update
sudo apt-get install docker-compose-plugin

安装完成后,你可以使用以下命令验证是否安装成功:

bash

docker compose version

10. 创建 Docker Compose 文件

在项目根目录下创建一个名为 docker-compose.yml 的文件,下面是一个简单的示例,展示了如何使用 Docker Compose 部署一个包含 Nginx 和 MySQL 的应用:

docker-compose-exampleDocker Compose 示例文件

version: '3'

services:

  nginx:

    image: nginx:latest

    ports:

      - "80:80"

    restart: always

  mysql:

    image: mysql:8.0

    environment:

      MYSQL_ROOT_PASSWORD: your_password

      MYSQL_DATABASE: your_database

    volumes:

      - mysql-data:/var/lib/mysql

    restart: always

volumes:

  mysql-data:    

这个示例文件定义了两个服务:

  • nginx:使用最新版本的 Nginx 镜像,并将容器的 80 端口映射到主机的 80 端口。

  • mysql:使用 MySQL 8.0 镜像,设置了 root 用户的密码和数据库名,并将 MySQL 的数据目录挂载到名为 mysql-data 的卷上。

11. 启动 Docker Compose 项目

在包含 docker-compose.yml 文件的目录下,使用以下命令启动项目:

bash

docker compose up -d
  • -d 参数表示以守护进程模式运行,即让容器在后台运行。

12. 查看容器状态

你可以使用以下命令查看正在运行的容器:

bash

docker compose ps

13. 停止和删除项目

如果你想停止并删除由 Docker Compose 启动的所有容器和相关资源,可以使用以下命令:

bash

docker compose down

这个命令会停止并移除所有由 docker compose up 创建的容器、网络和卷(除非卷被设置为外部卷)。

14. 更新服务

如果你对 docker-compose.yml 文件进行了修改,可以使用以下命令重新部署服务:

bash

docker compose up -d --build

--build 参数表示在启动容器之前重新构建所有使用 build 指令的服务。


通过以上步骤,你就可以使用 Docker Compose 方便地部署和管理多容器的 Docker 应用程序了。你可以根据自己的需求修改 docker-compose.yml 文件来定义不同的服务和配置。

15. 配置 Docker 守护进程使用国内镜像源

在 Linux 系统中,你可以通过编辑 /etc/docker/daemon.json 文件来配置国内镜像源。以下是一个配置示例(注:json中不可使用注释)

bash

{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://6kx4zyno.mirror.aliyuncs.com",
    "https://docker.1ms.run",
    "https://docker.rainbond.cc"
  ]
}

请将 <your-aliyun-mirror> 替换为你自己的阿里云镜像加速地址。如果你还没有阿里云镜像加速地址,可以登录阿里云控制台,在容器镜像服务中获取。

16. 重启 Docker 服务

配置完成后,需要重启 Docker 服务使配置生效:

bash

sudo systemctl restart docker

17. 验证配置

可以使用以下命令验证 Docker 是否已经使用了配置的镜像源:

bash

docker info | grep -i mirror

若输出包含你配置的镜像源地址,就表明配置成功。