Docker 部署文档
本文最后更新于42 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com

文档信息

  • 适用系统: CentOS/RHEL 8+、Ubuntu 20.04+
  • Docker版本: 最新稳定版(包含Compose V2插件)
  • 部署环境: 云服务器

一、环境准备与检查

1.1 系统要求

  • 操作系统: 64位Linux(CentOS 7+/Ubuntu 18.04+)
  • 内核版本: ≥ 3.10(推荐 ≥ 5.x)
  • 内存: 至少2GB可用
  • 磁盘空间: 至少20GB可用
  • 网络: 稳定互联网连接

1.2 预检査清单

bash

# 1. 系统信息检查
cat /etc/os-release
uname -r
​
# 2. 资源检查
free -h
df -h /
​
# 3. 端口占用检查
ss -tlnp | grep -E ":22|:80|:443|:2375|:2376"
​
# 4. 防火墙状态检查
systemctl status firewalld
getenforce  # SELinux状态
​
# 5. 网络连通性测试
ping -c 2 8.8.8.8
curl -I https://docker.com

二、Docker Engine 完整安装

2.1 卸载旧版本(如存在)

bash

#!/bin/bash
echo "开始清理旧版本Docker..."
​
# 停止相关服务
sudo systemctl stop docker docker.socket containerd 2>/dev/null || true
​
# 卸载旧版本包
for pkg in docker docker-client docker-client-latest docker-common \
           docker-latest docker-latest-logrotate docker-logrotate \
           docker-engine docker-ce docker-ce-cli containerd.io \
           docker-buildx-plugin docker-compose-plugin
do
    sudo yum remove -y $pkg 2>/dev/null || true
done
​
# 清理残留文件和目录
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
sudo rm -rf /etc/docker
sudo rm -rf /var/run/docker.sock
sudo rm -rf /var/lib/dockershim
​
echo "✅ 旧版本清理完成"

2.2 安装依赖和配置仓库

bash

#!/bin/bash
echo "安装系统依赖..."
​
# 安装必要工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 \
                    curl wget git bash-completion
​
# 添加Docker官方仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
​
# 更新仓库缓存
sudo yum makecache fast
​
echo "✅ 依赖安装完成"

2.3 安装Docker引擎完整套件

bash

#!/bin/bash
echo "安装Docker完整套件..."
​
# 安装所有核心组件
sudo yum install -y docker-ce \
                   docker-ce-cli \
                   containerd.io \
                   docker-buildx-plugin \
                   docker-compose-plugin
​
# 验证安装
echo "安装版本信息:"
docker --version
docker compose version
​
echo "✅ Docker引擎安装完成"

三、Docker服务配置与优化

3.1 基础服务配置

bash

#!/bin/bash
echo "配置Docker服务..."
​
# 创建docker用户组
sudo groupadd docker 2>/dev/null || true
​
# 启动并启用服务
sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl enable containerd
​
# 添加当前用户到docker组
sudo usermod -aG docker $USER
​
# 检查服务状态
echo "服务状态检查:"
sudo systemctl status docker --no-pager | grep -A3 "Active:"
​
echo "⚠️  重要提示:请重新登录SSH会话以使docker组权限生效"

3.2 镜像加速器配置(中国地区优化)

bash

#!/bin/bash
echo "配置镜像加速器..."
​
# 创建配置目录
sudo mkdir -p /etc/docker
​
# 生成daemon.json配置文件
sudo tee /etc/docker/daemon.json << 'EOF'
{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com",
    "https://ccr.ccs.tencentyun.com"
  ],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m",
    "max-file": "3",
    "compress": "true"
  },
  "storage-driver": "overlay2",
  "storage-opts": [
    "overlay2.override_kernel_check=true"
  ],
  "live-restore": true,
  "max-concurrent-downloads": 10,
  "max-concurrent-uploads": 5,
  "default-ulimits": {
    "nofile": {
      "Name": "nofile",
      "Hard": 65535,
      "Soft": 65535
    }
  }
}
EOF
​
# 重新加载并重启服务
sudo systemctl daemon-reload
sudo systemctl restart docker
​
# 验证配置
echo "镜像加速器配置:"
docker info | grep -A5 "Registry Mirrors"
​
echo "✅ 镜像加速器配置完成"

3.3 网络与存储优化

bash

#!/bin/bash
echo "配置网络与存储..."
​
# 创建自定义网络
docker network create docker-network 2>/dev/null || echo "网络已存在"
​
# 创建基础数据卷
docker volume create docker-data 2>/dev/null || true
​
# 配置防火墙(如果使用firewalld)
if systemctl is-active --quiet firewalld; then
    sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="172.17.0.0/16" accept'
    sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="172.18.0.0/16" accept'
    sudo firewall-cmd --reload
fi
​
echo "✅ 网络与存储配置完成"

四、Docker Compose 完整配置

4.1 Compose环境配置

bash

#!/bin/bash
echo "配置Docker Compose环境..."
​
# 创建Compose项目目录结构
mkdir -p ~/docker-projects/{compose-files,envs,configs,backup}
​
# 设置环境变量
cat >> ~/.bashrc << 'EOF'
# Docker Compose别名
alias dcup='docker compose up -d'
alias dcdown='docker compose down'
alias dclogs='docker compose logs -f'
alias dcps='docker compose ps'
alias dcexec='docker compose exec'
alias dcrestart='docker compose restart'
​
# Docker常用别名
alias dps='docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}\t{{.Ports}}"'
alias dimg='docker images --format "table {{.Repository}}\t{{.Tag}}\t{{.Size}}"'
alias dvol='docker volume ls --format "table {{.Name}}\t{{.Driver}}\t{{.Mountpoint}}"'
alias dnet='docker network ls --format "table {{.Name}}\t{{.Driver}}\t{{.Scope}}"'
EOF
​
# 立即生效
source ~/.bashrc
​
echo "✅ Compose环境配置完成"

4.2 Compose配置文件模板

bash

#!/bin/bash
echo "创建Compose配置模板..."
​
# 创建通用docker-compose.yml模板
cat > ~/docker-projects/compose-files/template.yml << 'EOF'
version: '3.8'
​
# 网络配置
networks:
  frontend:
    driver: bridge
    ipam:
      config:
        - subnet: 172.20.0.0/16
  backend:
    driver: bridge
    internal: true  # 内部网络,不对外暴露
    ipam:
      config:
        - subnet: 172.21.0.0/16
​
# 数据卷配置
volumes:
  app_data:
    driver: local
  logs:
    driver: local
  configs:
    driver: local
​
# 服务配置
services:
  # 示例服务1
  service1:
    image: alpine:latest
    container_name: example_service1
    restart: unless-stopped
    networks:
      - frontend
    volumes:
      - app_data:/data
      - ./config:/app/config:ro
    environment:
      - TZ=Asia/Shanghai
      - LOG_LEVEL=info
    healthcheck:
      test: ["CMD", "echo", "healthy"]
      interval: 30s
      timeout: 10s
      retries: 3
    deploy:
      resources:
        limits:
          cpus: '0.5'
          memory: 512M
        reservations:
          cpus: '0.25'
          memory: 256M
​
  # 示例服务2
  service2:
    build: .
    container_name: example_service2
    restart: unless-stopped
    depends_on:
      - service1
    networks:
      - frontend
      - backend
    ports:
      - "8080:80"
    env_file:
      - .env
    secrets:
      - db_password
    labels:
      - "com.example.description=Example service"
      - "com.example.version=1.0"
​
# 密钥配置(Docker Swarm模式)
secrets:
  db_password:
    file: ./secrets/db_password.txt
EOF
​
# 创建.env环境变量文件模板
cat > ~/docker-projects/envs/.env.template << 'EOF'
# Docker Compose环境变量配置
# 复制此文件为.env并根据需要修改
​
# 项目设置
COMPOSE_PROJECT_NAME=myproject
COMPOSE_PROJECT_DIR=/path/to/project
​
# 网络设置
NETWORK_SUBNET=172.22.0.0/16
NETWORK_GATEWAY=172.22.0.1
​
# 时间设置
TZ=Asia/Shanghai
LANG=en_US.UTF-8
​
# 资源限制
MEMORY_LIMIT=1g
CPU_LIMIT=0.5
​
# 日志设置
LOG_LEVEL=INFO
LOG_ROTATE_SIZE=10m
LOG_ROTATE_COUNT=3
EOF
​
echo "✅ Compose模板创建完成"

4.3 Compose实用工具脚本

bash

#!/bin/bash
echo "创建Compose工具脚本..."
​
# 创建项目初始化脚本
cat > /usr/local/bin/docker-init-project << 'EOF'
#!/bin/bash
# Docker项目初始化脚本
​
if [ -z "$1" ]; then
    echo "用法: $0 <项目名称>"
    exit 1
fi
​
PROJECT_NAME=$1
PROJECT_DIR="$HOME/docker-projects/$PROJECT_NAME"
​
echo "创建Docker项目: $PROJECT_NAME"
echo "项目目录: $PROJECT_DIR"
​
# 创建目录结构
mkdir -p "$PROJECT_DIR"/{compose,config,data,logs,scripts,backup}
​
# 复制模板文件
cp ~/docker-projects/compose-files/template.yml "$PROJECT_DIR/compose/docker-compose.yml"
cp ~/docker-projects/envs/.env.template "$PROJECT_DIR/.env"
​
# 创建实用脚本
cat > "$PROJECT_DIR/scripts/start.sh" << 'SCRIPT'
#!/bin/bash
cd "$(dirname "$0")/.."
docker compose up -d
echo "项目已启动"
SCRIPT
​
cat > "$PROJECT_DIR/scripts/stop.sh" << 'SCRIPT'
#!/bin/bash
cd "$(dirname "$0")/.."
docker compose down
echo "项目已停止"
SCRIPT
​
cat > "$PROJECT_DIR/scripts/backup.sh" << 'SCRIPT'
#!/bin/bash
cd "$(dirname "$0")/.."
BACKUP_DIR="backup/$(date +%Y%m%d_%H%M%S)"
mkdir -p "$BACKUP_DIR"
tar czf "$BACKUP_DIR/config.tar.gz" compose/ config/ .env
docker compose config > "$BACKUP_DIR/docker-compose.export.yml"
echo "备份已保存到: $BACKUP_DIR"
SCRIPT
​
# 设置权限
chmod +x "$PROJECT_DIR"/scripts/*.sh
​
# 生成README
cat > "$PROJECT_DIR/README.md" << 'README'
# Docker项目: $PROJECT_NAME
​
## 项目结构
- compose/ - Docker Compose配置文件
- config/ - 应用配置文件
- data/ - 持久化数据
- logs/ - 日志文件
- scripts/ - 管理脚本
- backup/ - 备份文件
​
## 常用命令
启动项目: ./scripts/start.sh
停止项目: ./scripts/stop.sh
查看日志: docker compose logs -f
进入容器: docker compose exec <服务名> sh
备份配置: ./scripts/backup.sh
​
## 配置说明
1. 编辑 .env 文件设置环境变量
2. 编辑 compose/docker-compose.yml 配置服务
README
​
echo "✅ 项目 '$PROJECT_NAME' 初始化完成"
echo "目录: $PROJECT_DIR"
echo "下一步:"
echo "1. cd $PROJECT_DIR"
echo "2. 编辑 .env 文件"
echo "3. 编辑 compose/docker-compose.yml"
echo "4. 运行 ./scripts/start.sh"
EOF
​
# 创建快速命令脚本
cat > /usr/local/bin/dc-manage << 'EOF'
#!/bin/bash
# Docker Compose管理脚本
​
case "$1" in
    "list")
        echo "正在运行的项目:"
        docker ps --format "{{.Names}}" | grep -o '^[^_]*' | sort -u
        ;;
    "backup-all")
        echo "备份所有项目..."
        for dir in ~/docker-projects/*/; do
            if [ -f "$dir/scripts/backup.sh" ]; then
                echo "备份: $(basename "$dir")"
                (cd "$dir" && ./scripts/backup.sh)
            fi
        done
        ;;
    "cleanup")
        echo "清理未使用资源..."
        docker system prune -af
        docker volume prune -f
        docker network prune -f
        echo "清理完成"
        ;;
    "stats")
        echo "系统资源统计:"
        docker system df -v
        echo ""
        echo "容器资源使用:"
        docker stats --no-stream --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}\t{{.NetIO}}\t{{.BlockIO}}"
        ;;
    *)
        echo "用法: $0 {list|backup-all|cleanup|stats}"
        echo "  list       - 列出运行中的项目"
        echo "  backup-all - 备份所有项目"
        echo "  cleanup    - 清理Docker资源"
        echo "  stats      - 查看资源统计"
        exit 1
        ;;
esac
EOF
​
# 设置权限
sudo chmod +x /usr/local/bin/docker-init-project
sudo chmod +x /usr/local/bin/dc-manage
​
echo "✅ Compose工具脚本创建完成"

五、验证与测试

5.1 完整功能验证

bash

#!/bin/bash
echo "执行完整功能验证..."
​
# 测试1: Docker引擎基础功能
echo "=== 测试1: Docker引擎 ==="
docker run --rm hello-world
docker run --rm alpine echo "✅ Alpine容器测试成功"
​
# 测试2: Docker Compose基础功能
echo "=== 测试2: Docker Compose ==="
TEST_DIR="/tmp/docker-test-$(date +%s)"
mkdir -p "$TEST_DIR"
cd "$TEST_DIR"
​
cat > docker-compose.yml << 'COMPOSE'
version: '3.8'
services:
  test1:
    image: busybox:latest
    command: echo "服务1启动成功"
    networks:
      - test-net
  
  test2:
    image: busybox:latest
    command: echo "服务2启动成功"
    networks:
      - test-net
    depends_on:
      - test1
​
networks:
  test-net:
    driver: bridge
COMPOSE
​
docker compose up
cd /tmp
rm -rf "$TEST_DIR"
​
# 测试3: 多容器网络通信
echo "=== 测试3: 网络通信 ==="
docker network create verify-network
docker run -d --name verify-server --network verify-network nginx:alpine
docker run --rm --network verify-network curlimages/curl -s http://verify-server
docker rm -f verify-server
docker network rm verify-network
​
echo "✅ 所有功能验证完成"

5.2 性能基准测试

bash

#!/bin/bash
echo "执行性能基准测试..."
​
echo "1. 镜像拉取速度测试:"
time docker pull alpine:latest
​
echo "2. 容器启动速度测试:"
time docker run --rm alpine echo "启动测试"
​
echo "3. 磁盘I/O测试:"
docker run --rm -v /tmp:/data alpine dd if=/dev/zero of=/data/test.bin bs=1M count=100 status=progress
​
echo "4. 网络性能测试:"
docker run --rm curlimages/curl -o /dev/null -s -w '时间: %{time_total}s\n速度: %{speed_download} B/s\n' https://docker.com
​
echo "✅ 性能测试完成" 

5.3 健康检查脚本

bash

#!/bin/bash
cat > /usr/local/bin/docker-health-check << 'EOF'
#!/bin/bash
# Docker健康检查脚本
​
echo "=== Docker系统健康检查 ==="
echo "检查时间: $(date)"
echo ""
​
# 1. 服务状态
echo "1. 服务状态检查:"
SERVICE_STATUS=$(systemctl is-active docker)
if [ "$SERVICE_STATUS" = "active" ]; then
    echo "✅ Docker服务: 运行正常"
else
    echo "❌ Docker服务: 异常 ($SERVICE_STATUS)"
fi
​
# 2. 版本信息
echo -e "\n2. 版本信息:"
docker --version 2>/dev/null && echo "✅ Docker版本正常" || echo "❌ Docker未安装"
docker compose version 2>/dev/null && echo "✅ Compose版本正常" || echo "❌ Compose未安装"
​
# 3. 资源使用
echo -e "\n3. 资源使用情况:"
docker system df --format "表格: {{.Type}}\t总计: {{.TotalSize}}\t使用: {{.Size}}\t可用: {{.Available}}"
​
# 4. 容器状态
echo -e "\n4. 容器状态:"
RUNNING=$(docker ps -q | wc -l)
TOTAL=$(docker ps -aq | wc -l)
echo "运行中容器: $RUNNING"
echo "总容器数: $TOTAL"
if [ "$RUNNING" -eq "$TOTAL" ] || [ "$TOTAL" -eq 0 ]; then
    echo "✅ 容器状态正常"
else
    echo "⚠️  有容器处于停止状态"
fi
​
# 5. 网络检查
echo -e "\n5. 网络配置:"
docker network ls --filter "type=custom" --format "table {{.Name}}\t{{.Driver}}\t{{.Scope}}"
​
# 6. 磁盘空间警告
echo -e "\n6. 磁盘空间检查:"
DISK_USAGE=$(df /var/lib/docker --output=pcent | tail -1 | tr -d ' %')
if [ "$DISK_USAGE" -gt 80 ]; then
    echo "⚠️  磁盘使用率较高: ${DISK_USAGE}%"
else
    echo "✅ 磁盘空间充足: ${DISK_USAGE}%"
fi
​
# 7. 安全建议
echo -e "\n7. 安全建议:"
if docker info 2>/dev/null | grep -q "User Namespaces: true"; then
    echo "✅ 用户命名空间已启用"
else
    echo "⚠️  建议启用用户命名空间以增强安全性"
fi
​
echo -e "\n=== 检查完成 ==="
EOF
​
sudo chmod +x /usr/local/bin/docker-health-check
docker-health-check

六、日常运维与管理

6.1 自动化维护脚本

bash

#!/bin/bash
echo "设置自动化维护..."

# 创建每日维护脚本
sudo tee /etc/cron.daily/docker-maintenance << 'CRON'
#!/bin/bash
# Docker每日维护脚本

LOG_FILE="/var/log/docker-maintenance.log"
echo "=== Docker维护 $(date) ===" >> "$LOG_FILE"

# 1. 清理停止的容器
echo "清理停止的容器..." >> "$LOG_FILE"
docker container prune -f >> "$LOG_FILE" 2>&1

# 2. 清理悬空镜像
echo "清理悬空镜像..." >> "$LOG_FILE"
docker image prune -f >> "$LOG_FILE" 2>&1

# 3. 清理构建缓存
echo "清理构建缓存..." >> "$LOG_FILE"
docker builder prune -f >> "$LOG_FILE" 2>&1

# 4. 备份Docker配置
echo "备份Docker配置..." >> "$LOG_FILE"
tar czf /var/backup/docker-config-$(date +%Y%m%d).tar.gz /etc/docker/ >> "$LOG_FILE" 2>&1

# 5. 保留最近7天的备份
find /var/backup/ -name "docker-config-*.tar.gz" -mtime +7 -delete >> "$LOG_FILE" 2>&1

echo "维护完成" >> "$LOG_FILE"
CRON

sudo chmod +x /etc/cron.daily/docker-maintenance
sudo mkdir -p /var/backup

echo "✅ 自动化维护配置完成"

6.2 监控与日志

bash

#!/bin/bash
echo "配置监控与日志..."
​
# 创建日志收集配置
sudo tee /etc/docker/daemon.json << 'EOF'
{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3",
    "compress": "true",
    "labels": "production",
    "env": "os,customer"
  },
  "metrics-addr": "127.0.0.1:9323",
  "experimental": true
}
EOF
​
# 创建日志轮转配置
sudo tee /etc/logrotate.d/docker << 'LOGROTATE'
/var/lib/docker/containers/*/*.log {
    daily
    rotate 7
    compress
    delaycompress
    missingok
    copytruncate
}
LOGROTATE
​
sudo systemctl restart docker
echo "✅ 监控与日志配置完成"

七、故障排除指南

7.1 常见问题解决

问题症状解决方案
Docker服务无法启动systemctl status docker 显示失败1. 检查日志: journalctl -u docker
2. 检查存储驱动: docker info | grep Storage
3. 重置配置: rm -rf /var/lib/docker/*
镜像拉取失败docker pull 超时或失败1. 检查镜像加速器配置
2. 测试网络: curl -I https://docker.com
3. 更换镜像源
端口冲突docker run 提示端口被占用1. 查看占用进程: ss -tlnp | grep :端口
2. 更改容器映射端口
3. 停止占用进程
磁盘空间不足docker: write ... no space left1. 清理资源: docker system prune -af
2. 检查大容器: docker ps -s
3. 迁移数据目录
权限被拒绝Got permission denied1. 添加用户到docker组
2. 检查socket权限: ls -la /var/run/docker.sock
3. 使用sudo或重新登录

7.2 诊断工具集

bash

#!/bin/bash
cat > /usr/local/bin/docker-diagnose << 'EOF'
#!/bin/bash
# Docker诊断工具
​
case "$1" in
    "network")
        echo "网络诊断:"
        docker network inspect $(docker network ls -q)
        ;;
    "volume")
        echo "存储卷诊断:"
        docker volume inspect $(docker volume ls -q) 2>/dev/null || echo "无存储卷"
        ;;
    "logs")
        shift
        if [ -z "$1" ]; then
            echo "用法: $0 logs <容器名>"
            exit 1
        fi
        docker logs --tail 100 -f "$1"
        ;;
    "performance")
        echo "性能诊断:"
        docker stats --no-stream
        docker system df
        ;;
    "security")
        echo "安全检查:"
        docker info --format '{{json .SecurityOptions}}' | python3 -m json.tool
        ;;
    *)
        echo "用法: $0 {network|volume|logs|performance|security}"
        echo "  network    - 网络配置诊断"
        echo "  volume     - 存储卷诊断"
        echo "  logs       - 查看容器日志"
        echo "  performance - 性能诊断"
        echo "  security   - 安全检查"
        exit 1
        ;;
esac
EOF
​
sudo chmod +x /usr/local/bin/docker-diagnose

附录

A. 完整命令速查表

bash

# 系统管理
docker info                    # 系统信息
docker version                 # 版本信息
docker system df               # 磁盘使用
docker system prune -af        # 清理所有未使用资源
​
# 容器管理
docker ps -a                   # 所有容器
docker run [选项] 镜像 [命令]   # 运行容器
docker exec -it 容器名 命令     # 执行命令
docker logs -f 容器名           # 查看日志
docker stop/start/restart      # 停止/启动/重启
docker rm -f 容器名             # 删除容器
docker inspect 容器名           # 查看详情
​
# 镜像管理
docker images                  # 列出镜像
docker pull 镜像:标签           # 拉取镜像
docker rmi 镜像名               # 删除镜像
docker build -t 标签 .         # 构建镜像
docker push 镜像名              # 推送镜像
​
# Compose管理
docker compose up -d           # 启动服务
docker compose down            # 停止服务
docker compose ps              # 查看状态
docker compose logs -f         # 查看日志
docker compose exec 服务 命令   # 执行命令
docker compose pull            # 拉取镜像
docker compose build           # 构建镜像
​
# 网络管理
docker network ls              # 列出网络
docker network create 网络名    # 创建网络
docker network inspect 网络名   # 查看网络详情
docker network connect 网络 容器 # 连接网络
​
# 存储管理
docker volume ls               # 列出存储卷
docker volume create 卷名       # 创建存储卷
docker volume inspect 卷名      # 查看卷详情

B. 目录结构参考

text

/var/lib/docker/              # Docker主目录
├── containers/               # 容器数据
├── image/                    # 镜像存储
├── volumes/                  # 数据卷
├── networks/                 # 网络配置
└── buildkit/                 # 构建缓存

/etc/docker/                  # 配置文件
├── daemon.json              # 主配置文件
├── key.json                 # TLS证书
└── certs.d/                 # 镜像仓库证书

~/docker-projects/           # 用户项目目录
├── project1/                # 项目1
│   ├── compose/             # Compose文件
│   ├── config/              # 配置文件
│   ├── data/                # 持久化数据
│   ├── scripts/             # 管理脚本
│   └── backup/              # 备份文件
└── project2/                # 项目2

C. 环境变量参考

bash

# 常用环境变量
export DOCKER_HOST="tcp://localhost:2375"      # Docker守护进程地址
export DOCKER_TLS_VERIFY="1"                   # 启用TLS验证
export DOCKER_CERT_PATH="/path/to/certs"       # 证书路径
export COMPOSE_PROJECT_NAME="myproject"        # Compose项目名
export COMPOSE_FILE="docker-compose.yml"       # Compose文件
export COMPOSE_PROFILES="dev,debug"            # 激活的profile

D. 联系与支持

  • 包含组件: Docker Engine + Docker Compose + 管理工具
  • 适用场景: 生产环境Docker完整部署

🎯 部署完成验证清单

运行以下命令验证完整部署:

bash

# 1. 验证核心组件
docker --version && \
docker compose version && \
echo "✅ 核心组件验证通过"
​
# 2. 验证服务状态
systemctl is-active docker && \
systemctl is-enabled docker && \
echo "✅ 服务状态验证通过"
​
# 3. 验证网络功能
docker run --rm alpine ping -c 2 8.8.8.8 && \
echo "✅ 网络功能验证通过"
​
# 4. 验证Compose功能
docker compose version && \
echo "✅ Compose功能验证通过"
​
# 5. 运行完整健康检查
docker-health-check

文档结束 – Docker及Docker Compose完整部署已完成!

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇