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
若输出包含你配置的镜像源地址,就表明配置成功。