在常见 Linux 发行版上安装并使用 Docker 部署应用

🌙
⬆️

在常见 Linux 发行版上安装并使用 Docker 部署应用

适用系统:Ubuntu 22.04/24.04、Debian 12、CentOS 9 Stream、Rocky Linux 9、AlmaLinux 9、openEuler 22.03、Amazon Linux 2、Arch Linux


1. 安装 Docker Engine(官方仓库)

以下脚本可直接复制到终端执行。所有命令均以 rootsudo 身份运行。

1.1 一键脚本(Ubuntu / Debian)

# 更新索引并安装依赖
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg lsb-release

# 导入 Docker 官方 GPG Key
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/$(lsb_release -is | tr '[:upper:]' '[:lower:]')/gpg \
  | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 写入仓库源
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
  https://download.docker.com/linux/$(lsb_release -is | tr '[:upper:]' '[:lower:]') \
  $(lsb_release -cs) stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 安装
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 启动并设为开机自启
sudo systemctl enable --now docker

1.2 一键脚本(CentOS / Rocky / Alma / openEuler)

# 安装 yum-utils
sudo yum install -y yum-utils

# 添加官方仓库
sudo yum-config-manager --add-repo \
  https://download.docker.com/linux/centos/docker-ce.repo

# 安装
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 启动
sudo systemctl enable --now docker

1.3 Amazon Linux 2

sudo amazon-linux-extras install docker -y
sudo systemctl enable --now docker

1.4 Arch Linux

sudo pacman -Syu docker docker-compose
sudo systemctl enable --now docker

2. 验证安装

docker version          # 查看客户端/服务端版本
docker run --rm hello-world

正常输出 Hello from Docker! 即安装成功。


3. 非 root 用户运行 Docker(可选但推荐)

sudo usermod -aG docker $USER
newgrp docker           # 立即生效

4. 配置国内镜像加速器(解决拉取慢的问题)

4.1 使用 /etc/docker/daemon.json

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<'EOF'
{
  "registry-mirrors": [
    "https://mirror.ccs.tencentyun.com",
    "https://docker.m.daocloud.io",
    "https://dockerproxy.com"
  ]
}
EOF

sudo systemctl daemon-reload
sudo systemctl restart docker

5. 使用 Docker Compose 部署示例应用

示例:部署一个 Nginx + MariaDB + WordPress 博客系统。

5.1 创建项目目录

mkdir -p ~/pigyun-demo && cd ~/pigyun-demo

5.2 编写 docker-compose.yml

version: "3.9"
services:
  db:
    image: mariadb:11
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: pigyun_root
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wpuser
      MYSQL_PASSWORD: wppass
    volumes:
      - db_data:/var/lib/mysql

  wordpress:
    image: wordpress:6.6-php8.2-apache
    restart: always
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_DB_USER: wpuser
      WORDPRESS_DB_PASSWORD: wppass
    volumes:
      - wp_data:/var/www/html
    depends_on:
      - db

volumes:
  db_data:
  wp_data:

5.3 启动

docker compose up -d        # 或 docker-compose up -d

5.4 访问

浏览器打开 http://<服务器IP>:8080 即可开始 WordPress 初始化。


6. 常用运维命令

# 查看运行容器
docker ps -a

# 查看实时日志
docker logs -f <容器ID>

# 进入容器
docker exec -it <容器ID> /bin/bash

# 停止/启动/重启
docker compose stop
docker compose start
docker compose restart

# 更新镜像并重建
docker compose pull
docker compose up -d --force-recreate

7. 卸载 Docker(如需)

Ubuntu / Debian

sudo apt-get purge docker-ce docker-ce-cli containerd.io
sudo rm -rf /var/lib/docker /var/lib/containerd

CentOS / Rocky / Alma

sudo yum remove docker-ce docker-ce-cli containerd.io
sudo rm -rf /var/lib/docker /var/lib/containerd

8. 故障排查速查表

现象解决思路
拉取镜像超时检查加速器配置;确认防火墙放行 443 端口;使用 docker pull --platform linux/amd64
非 root 用户无法运行 docker确认已执行 usermod -aG docker 并重新登录
docker-compose: command not found新版 Engine 已内置 docker compose(空格);老版本需安装 docker-compose-plugin
SELinux 阻止容器访问文件在 CentOS/Rocky 上可临时 setenforce 0 或配置 SELinux 策略

9. 相关链接


域名购买与 DNS 解析入门教程
使用 1Panel 部署常见 Docker 应用(以 WordPress 为例)

✍️ 添加新评论

💨 由 PIGYun全球优质服务器 提供快速评论体验
🚀 评论由PIGYun高性能服务器处理