容器云docker部署
部署服务第一阶段一、实训目的1. 完成两台CentOS 7虚拟机的**主机名、静态IP、网关、DNS**标准化配置。2. 关闭防火墙与SELinux开启内核转发满足Docker运行的系统要求。3. 配置hosts文件实现server与client节点名称互通。4. 在server节点搭建**FTP共享服务**为后续本地YUM源提供支撑。5. 挂载ISO镜像、配置本地与FTP YUM源实现离线软件安装。6. 为Docker安装、私有仓库、容器部署打下稳定的系统环境基础。二、实训环境信息| 节点 | 主机名 | 内存 | 硬盘 | 静态IP | 网关 | DNS ||------|--------|------|------|--------|------|-----|| 服务端 | server | 4G | 40G | 10.70.3.137/24 | 10.70.3.1 | 114.114.114.114 || 客户端 | client | 4G | 40G | 10.70.3.138/24 | 10.70.3.1 | 114.114.114.114 |三、实训步骤与操作记录1. 虚拟机基础配置- 修改主机名hostnamectl set-hostname server/client- 使用nmtui配置静态IP、网关、DNS- 重启网络systemctl restart network2. 关闭防火墙与SELinuxsystemctl stop firewalldsystemctl disable firewalldsetenforce 0# 编辑配置文件永久关闭 SELINUXdisabled3. 配置内核转发编辑/etc/sysctl.conf添加net.ipv4.ip_forward 1net.ipv4.conf.default.rp_filter 0net.ipv4.conf.all.rp_filter 0执行sysctl -p生效。4. 配置hosts解析在/etc/hosts添加10.70.3.137 server10.70.3.138 client5. 配置YUM源与FTP服务- 更换腾讯云Base源- 安装vsftpd设置anon_root/opt/- 启动并设置开机自启- 验证FTP共享可用6. 挂载ISO并配置本地源- 挂载paas.iso与centos.iso拷贝文件到/opt- 安装createrepo生成yum元数据- server配置file本地源client配置ftp源- 清理并重建缓存yum clean all yum makecache四、实训结果1. 两台虚拟机网络互通主机名解析正常。2. 系统安全组件关闭内核转发开启满足Docker运行要求。3. FTP服务正常client可访问server的资源文件。4. YUM源配置成功可离线安装docker-ce等软件包。5. 整体环境稳定为后续Docker实训提供可靠支撑。五、实训总结本次实训完成了Docker部署前的**全流程系统环境搭建**涵盖网络、安全、内核、文件共享、YUM源等关键配置。我掌握了CentOS 7系统初始化标准流程理解了容器运行对网络与系统的要求提升了Linux系统管理与排错能力。环境配置是容器化的基础每一步正确设置都直接影响后续实验为整个Docker实训奠定了重要基础。第二阶段实训一、实训目的1. 掌握在 CentOS 7 环境下通过本地 YUM 源安装 Docker 社区版docker-ce。2. 熟练使用 Docker 基础命令完成查看信息、加载镜像、创建容器、进入容器、停止删除容器等操作。3. 实现容器端口映射并在客户端验证服务可正常访问。4. 理解容器运行机制掌握 Docker 日常运维基本流程。二、实训环境服务端serverIP10.70.3.137客户端clientIP10.70.3.138系统CentOS 7.5.1804软件Docker-CE、httpd 2.2.32 镜像已完成第一阶段网络、YUM 源、vsftpd 配置三、实训步骤与操作记录1. 安装 Docker-CE在 server 和 client 分别执行yum install -y docker-cesystemctl start dockersystemctl enable docker完成 Docker 安装、启动与开机自启配置。2. 查看 Docker 信息docker infodocker version查看 Docker 版本、驱动、存储等信息确认服务正常运行。3. 查看容器与镜像docker psdocker images初始状态无运行容器与本地镜像结果为空。4. 加载 httpd 镜像docker load -i /opt/paas/images/httpd-2.2.32.tardocker images成功加载镜像记录镜像 ID用于后续创建容器。5. 创建并运行 httpd 容器docker run -d --restartunless-stopped -p 8080:80 镜像ID前四位参数说明d后台运行restartunless-stopped异常自动重启p 8080:80宿主机 8080 映射容器 80 端口使用 docker ps 查看容器运行状态。6. 客户端验证服务在 client 执行curl http://server:8080返回 It works! 说明容器服务部署成功、端口映射正常。7. 进入容器内部操作docker exec -it 容器ID前四位 bashuname -aip addressls -lcd binhttpdexit完成系统信息查看、网络检查、目录浏览、服务启动等操作。8. 停止并删除容器docker stop 容器IDdocker rm 容器ID验证容器停止、删除命令理解容器生命周期管理。四、实训结果1. Docker-CE 在 server 和 client 均安装成功服务运行正常。2. 成功加载 httpd 镜像创建容器并实现端口映射。3. 客户端可正常访问容器内 httpd 服务返回预期页面。4. 熟练完成容器进入、查看、停止、删除等操作。5. 所有命令执行正常无报错实训目标全部达成。五、实训总结本次实训完成了 Docker 安装与基础命令的全流程操作。我掌握了 docker install/start/info/version/ps/images/load/run/exec/stop/rm 等核心命令理解了镜像与容器的关系、端口映射原理和容器重启策略。通过客户端验证进一步巩固了容器网络互通的知识。整体操作顺畅为后续私有仓库、Dockerfile、Docker Compose 学习打下了坚实基础。第三阶段一、实训目的1. 掌握在 CentOS 7 上搭建 Docker 本地私有仓库Registry的完整流程。2. 学会配置 Docker 非安全仓库insecure-registries支持 HTTP 协议访问。3. 掌握镜像打标签、推送至私有仓库、客户端从私有仓库拉取镜像的操作。4. 实现服务端与客户端镜像共享验证私有仓库可用性。5. 熟练使用 docker tag、docker push、docker pull 等镜像管理命令。二、实训环境服务端serverIP **10.70.3.137**客户端clientIP **10.70.3.138**系统CentOS 7.5.1804组件Docker CE、Registry 私有仓库前置条件第一、二阶段环境正常Docker 已安装httpd 镜像已加载三、实训步骤与操作内容一准备 Registry 镜像并加载1. 创建目录 /opt/images上传 registry.tar 到该目录。2. 加载 Registry 镜像docker load -i /opt/images/registry.tar二启动私有仓库容器1. 运行 registry 容器挂载数据卷并映射 5000 端口docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restartalways --name registry registry:latest2. 测试仓库是否正常curl -v http://server:5000/v2三配置 Docker 非安全仓库Server 端1. 创建并写入 daemon.jsontee /etc/docker/daemon.json /dev/null EOF{insecure-registries: [server:5000]}EOF2. 重启 Docker 服务systemctl daemon-reloadsystemctl restart docker四镜像打标签并推送至私有仓库1. 给镜像添加仓库前缀标签docker tag registry server:5000/registrydocker tag httpd:2.2.32 server:5000/httpd:2.2.322. 推送到私有仓库docker push server:5000/registrydocker push server:5000/httpd:2.2.323. 查看仓库镜像列表curl http://server:5000/v2/_catalog五Client 端配置并验证私有仓库1. 同样配置 daemon.json 并重启 Docker。2. 查看仓库镜像与标签curl http://server:5000/v2/_catalogcurl http://server:5000/v2/httpd/tags/list3. 从私有仓库拉取镜像docker pull server:5000/httpd:2.2.32查看本地镜像并验证可正常创建容器、访问服务。四、实训结果1. 成功在 server 节点搭建 Docker 私有仓库端口 5000 正常监听。2. 成功配置 HTTP 非安全仓库Docker 可正常连接私有仓库。3. 完成镜像打标签、推送私有仓库可正常存储镜像。4. client 节点可正常查看、拉取私有仓库镜像。5. 拉取后的 httpd 镜像可正常创建容器并提供 Web 访问验证仓库完全可用。6. 所有命令执行无误实训目标全部达成。五、实训总结本次实训完成了 Docker 私有仓库的完整搭建与使用我掌握了 Registry 容器部署、daemon.json 非安全仓库配置、tag/push/pull 镜像生命周期管理等核心技能。理解了私有仓库在企业环境中用于镜像统一管理、安全分发的作用。通过服务端与客户端联调加深了对 Docker 网络与仓库机制的理解为后续使用 Dockerfile 构建镜像、Docker Compose 编排服务打下重要基础。第四阶段一、实训目的1. 掌握使用 **Dockerfile** 自定义构建 Redis 服务镜像的完整流程。2. 学会配置本地 YUM 源、修改 Redis 配置、暴露端口、设置启动命令。3. 掌握镜像构建、打标签、推送私有仓库、本地导出的操作。4. 在客户端安装 **Docker Compose**使用 YAML 文件一键编排启动容器。5. 完成容器部署、端口映射、Redis 功能测试验证服务可用。二、实训环境- 服务端serverIP 10.70.3.137- 客户端clientIP 10.70.3.138- 系统CentOS 7.5.1804- 组件Docker、Docker Registry 私有仓库、Docker Compose v1.25.5、Redis- 前置条件前三阶段环境正常私有仓库可正常 push/pull三、实训步骤与操作记录一Server 端Dockerfile 构建 Redis 镜像1. 准备工作目录cd ~mkdir rediscd redis2.编写 DockerfiledockerfileFROM server:5000/centosMAINTAINER 姓名RUN rm -rf /etc/yum.repos.d/*COPY ./local.repo /etc/yum.repos.d/RUN yum install redis -y sed -i s/^bind 127.0.0.1/bind 0.0.0.0/g;s/^protected-mode yes/protected-mode no/g /etc/redis.confEXPOSE 6379CMD [redis-server,/etc/redis.conf]3. 准备基础镜像并推送仓库docker load -i /opt/paas/images/centos-centos7.5.1804.tardocker tag 镜像ID server:5000/centosdocker push server:5000/centos4.编写本地 YUM 源 local.repo[docker]namedockerbaseurlftp://10.70.3.137/paasgpgcheck0enabled1[centos]namecentosbaseurlftp://10.70.3.137/centosgpgcheck0enabled1[gpmall]namegpmallbaseurlftp://10.70.3.137/paas/ChinaskillMall/gpmall-repogpgcheck0enabled15. 构建 Redis 镜像docker build -t 姓名-redis:v1.1 .6. 推送镜像到私有仓库docker tag 姓名-redis:v1.1 server:5000/姓名-redis:v1.1docker push server:5000/姓名-redis:v1.17. 导出镜像到本地文件docker save -o 姓名-redis.tar 姓名-redis:v1.1二Client 端安装 Docker Compose1. 从 FTP 下载 Docker Composewget ftp://server/paas/docker-compose/v1.25.5-*2. 移动并授权mv v1.25.5-* /usr/bin/docker-composechmod x /usr/bin/docker-compose3. 验证安装ll /usr/bin/docker-compose三Client 端Docker Compose 部署 Redis1. 创建工作目录cd ~mkdir rediscd redis2. 编写 docker-compose.yamlyamlversion: 2.0services:redis:hostname: 姓名-rediscontainer_name: 姓名-redisimage: server:5000/姓名-redis:v1.1ports:- 6379:6379restart: always3.启动容器docker-compose up -d4. 查看容器状态docker ps | grep 姓名5. 进入容器测试 Redisdocker exec -it 姓名-redis redis-cliset name 姓名get nameExit四、实训结果1. 成功通过 Dockerfile 构建自定义 Redis 镜像配置、端口、启动项均正常。2. 镜像成功推送到私有仓库并可导出本地保存。3. Docker Compose 安装成功可正常执行编排命令。4. 容器一键启动成功端口 6379 映射正常。5. Redis 服务运行正常set/get 数据成功功能验证通过。6. 全流程无报错实训任务全部完成。五、实训总结本次实训完成了从 **Dockerfile 镜像构建** 到 **Docker Compose 容器编排** 的完整容器化部署流程。我掌握了 FROM/RUN/COPY/EXPOSE/CMD 等指令用法理解了镜像分层构建原理同时学会了 Compose 编排文件编写、批量启动容器、端口映射、重启策略等关键技能。通过私有仓库共享镜像、客户端拉取启动加深了对企业级容器交付流程的理解为微服务部署打下扎实基础。