在云计算、微服务与容器化普及的今天,Docker 已成为运维、开发、测试岗位必备的核心技能。本文基于 CentOS 7 双节点架构,从零开始完成标准化环境配置、Docker 安装运维、私有仓库搭建、自定义镜像构建、Docker Compose 服务编排五大核心任务,全程可复现、可直接用于实训、考试与企业小型项目部署,兼顾基础操作与工程化规范。


一、实验架构与环境标准化配置

本次实验采用 Server(服务端)+ Client(客户端) 双虚拟机架构,模拟企业真实生产环境的分布式部署模式,所有操作严格遵循 Linux 运维规范。

1. 基础环境信息

节点主机名系统版本内存静态 IP核心用途
服务端serverCentOS 74GB10.81.3.137Docker 仓库、镜像构建、服务发布
客户端clientCentOS 74GB10.81.3.138服务拉取、Compose 编排部署

2. 主机名与网络基础配置

# 1. 修改主机名(两台节点分别执行)
# 服务端
hostnamectl set-hostname server && bash
# 客户端
hostnamectl set-hostname client && bash

# 2. 永久关闭防火墙与SELinux(生产环境前置规范)
systemctl stop firewalld && systemctl disable firewalld
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

# 3. 开启内核转发(Docker 网络必需)
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p

# 4. 配置主机名解析(双节点互通)
cat >> /etc/hosts << EOF
10.81.3.137 server
10.81.3.138 client
EOF

3. YUM 仓库与 FTP 服务配置

为保证离线环境可用,搭建本地 FTP 仓库,提供镜像与依赖包:

  1. 安装 vsftpd 并设置开机自启;
  2. 挂载系统 ISO 与实训镜像到 /opt 目录;
  3. 生成本地 YUM 元数据,确保所有节点可正常安装软件。

二、Docker CE 安装与运维命令实战

Docker Community Edition(社区版)是企业最常用的免费版本,支持镜像管理、容器生命周期控制等核心功能。

1. 一键安装与启动

# 安装 Docker 社区版
yum install -y docker-ce
# 启动并设置开机自启
systemctl start docker && systemctl enable docker
# 验证安装成功
docker version && docker info

2. 核心运维命令(企业常用)

# 本地加载镜像(离线部署必备)
docker load -i /opt/paas/images/httpd-2.2.32.tar

# 后台运行容器,端口映射
docker run -d --restart=unless-stopped -p 8080:80 [镜像ID]

# 查看运行中容器
docker ps

# 进入容器内部操作
docker exec -it [容器ID] bash

# 停止/删除容器
docker stop [容器ID] && docker rm [容器ID]

三、Docker 本地私有仓库(Registry)搭建

企业内部严禁直接使用公共仓库传输镜像,私有仓库是容器化落地的必备组件。

1. 部署私有仓库

# 加载仓库镜像
docker load -i /opt/images/registry.tar

# 启动仓库容器(数据持久化+端口映射)
docker run -d \
  -v /opt/registry:/var/lib/registry \
  -p 5000:5000 \
  --restart=always \
  --name registry \
  registry:latest

2. 解决 HTTPS 认证问题

# 配置 HTTP 信任仓库(双节点都需配置)
cat > /etc/docker/daemon.json << EOF
{
  "insecure-registries": ["server:5000"]
}
EOF

# 重启 Docker 生效
systemctl daemon-reload && systemctl restart docker

3. 镜像推送与拉取验证

# 服务端:镜像打标 + 推送私有仓库
docker tag httpd:2.2.32 server:5000/httpd:2.2.32
docker push server:5000/httpd:2.2.32

# 客户端:拉取镜像验证
docker pull server:5000/httpd:2.2.32
docker images


四、Dockerfile 构建企业级 Redis 自定义镜像

相比于直接使用公共镜像,自定义构建镜像可统一环境、内置配置、符合企业安全规范。

1. 创建工作目录

mkdir ~/redis && cd ~/redis

2. 编写标准化 Dockerfile

# 基础镜像(来自本地私有仓库,安全合规)
FROM server:5000/centos
# 镜像维护者信息
MAINTAINER cloud-ops
# 配置本地YUM源,安装Redis
RUN rm -rf /etc/yum.repos.d/*
COPY local.repo /etc/yum.repos.d/
RUN yum install redis -y
# 修改Redis配置,允许外部访问
RUN sed -i 's/bind 127.0.0.1/bind 0.0.0.0/' /etc/redis.conf
RUN sed -i 's/protected-mode yes/protected-mode no/' /etc/redis.conf
# 暴露服务端口
EXPOSE 6379
# 容器启动命令
CMD ["redis-server", "/etc/redis.conf"]

3. 构建、推送镜像

# 构建镜像
docker build -t yrm-redis:v1.1 .
# 打标并推送私有仓库
docker tag yrm-redis:v1.1 server:5000/yrm-redis:v1.1
docker push server:5000/yrm-redis:v1.1


五、Docker Compose 一键编排部署 Redis

Docker Compose 是多容器编排工具,可通过 YAML 文件一键启动、停止、管理服务,大幅提升运维效率。

1. 安装 Docker Compose

# 下载工具包
wget ftp://server/paas/docker-compose/v1.25.5-docker-compose-Linux-x86_64
# 移动到系统目录并授权
mv v1.25.5-* /usr/bin/docker-compose
chmod +x /usr/bin/docker-compose
# 验证安装
docker-compose -v

2. 编写编排文件

version: '2.0'
services:
  redis:
    container_name: yrm-redis
    image: server:5000/yrm-redis:v1.1
    ports:
      - "6379:6379"
    restart: always
    network_mode: bridge

3. 一键启动与功能验证

# 后台启动服务
docker-compose up -d
# 查看服务状态
docker ps | grep redis
# 进入Redis客户端测试
docker exec -it yrm-redis redis-cli
set test-key hello-docker
get test-key


六、实验总结与企业价值

1. 核心技能掌握

  1. 环境标准化:双节点网络、防火墙、内核参数规范化配置;
  2. Docker 基础:安装、镜像 / 容器生命周期管理、离线部署;
  3. 私有仓库:企业内部镜像安全存储与分发;
  4. 镜像构建:Dockerfile 自定义业务镜像;
  5. 服务编排:Docker Compose 一键部署微服务。

2. 常见问题排查

  • 私有仓库推送失败:检查 daemon.json 配置并重启 Docker;
  • 容器无法外部访问:确认端口映射、防火墙、SELinux 状态;
  • 镜像构建失败:检查 YUM 源配置与文件路径。

3. 工程化价值

本套流程完全贴合企业实训、技能竞赛、生产环境标准,从基础环境到服务落地形成闭环,不仅掌握命令操作,更理解容器化背后的设计思想,是从运维新手到容器工程师的必备实战案例。

更多推荐