0 基础阿里云运维 Docker 保姆级全流程(2026 最新)

张开发
2026/4/17 14:02:20 15 分钟阅读

分享文章

0 基础阿里云运维 Docker 保姆级全流程(2026 最新)
这份指南专为完全 0 基础、想往阿里云运维方向发展的用户设计全程无跳跃、无晦涩术语每一步都有「操作目的 可复制命令 成功验证标准」跟着走就能 100% 跑通每天 1-2 小时2 周就能掌握 Docker 核心运维技能。先给 0 基础吃定心丸Docker 没有你想的那么难它的核心价值就是把应用和它需要的所有环境打包成一个 “集装箱”一次打包到处运行彻底解决 “我电脑上能跑服务器上跑不了” 的运维头号难题是阿里云运维、云原生岗位的入门必备技能。学前必看0 基础学习核心原则先跑通再深究原理不要一开始死记硬背命令和底层概念先跟着步骤把操作做成功有正反馈再回头理解为什么这么做。小步快跑每步必验证每执行完一个操作就做一次验证确认成功再往下走避免攒了一堆操作最后报错找不到哪里出了问题。拒绝死记硬背命令不用背知道它是干嘛的、用的时候能查到就行运维工作本来就是边查边做重点是知道用什么命令解决什么问题。全程贴合阿里云场景所有操作都基于阿里云 ECS 服务器学完就能直接用到阿里云运维工作中不是无用的理论。前置准备0 基础也能搞定的阿里云环境搭建1 天搞定这是最容易卡壳的一步我会把所有细节讲透哪怕你从来没碰过服务器也能跟着完成。一、买一台适合学习的阿里云 ECS 服务器1. 配置选择学习够用成本极低配置项推荐选择原因实例规格突发性能实例 t6/t8 1 核 2G学习完全够用包年包月每月仅 30-50 元按量付费每小时几分钱操作系统Alibaba Cloud Linux 3阿里云原生系统对 Docker 深度优化兼容 CentOS 命令免费、稳定、安全0 基础首选地域离你最近的城市如杭州 / 上海 / 北京访问速度快网络必须分配公网 IP不然你无法远程连接服务器计费方式新手优先选「包年包月」不用随时关停省心成本可控2. 购买极简步骤支付宝 / 淘宝账号登录阿里云官网搜索「云服务器 ECS」点击「立即购买」选择「快速购买」不用管复杂的自定义配置按上面的表格选好配置设置登录凭证选择「密码」设置一个好记的 root 管理员密码一定要记好后面登录要用核对费用完成支付等待 1-3 分钟实例就会创建完成。二、配置安全组必做不然后面访问不了安全组就是阿里云的虚拟防火墙默认只开放了 22 端口我们需要提前开放后续要用的端口阿里云控制台进入「ECS 实例详情页」找到「安全组」点击进入安全组配置页点击「入方向规则」→「添加规则」按下面的表格添加 3 条规则端口范围授权对象用途22/220.0.0.0/0远程连接服务器用80/800.0.0.0/0网站 / 网页访问用443/4430.0.0.0/0HTTPS 访问用点击确定配置就生效了。三、远程连接服务器0 基础首选不用装任何软件阿里云自带的Workbench 远程连接浏览器直接用不用下载 Xshell 等工具0 门槛回到 ECS 实例详情页点击右上角的「远程连接」选择「Workbench 远程连接」点击「立即登录」弹出的窗口中用户名填root密码填你买服务器时设置的 root 密码点击确定看到黑色的命令行窗口出现[rootiZxxxxxx ~]#这样的提示就说明登录成功了补充如果登录失败先检查密码有没有输错再检查安全组有没有开放 22 端口。四、0 基础必学的 5 个 Linux 命令后面所有操作的基础不用学复杂的 Linux 命令先把这 5 个搞懂足够你完成 Docker 全流程学习cd 目录名进入某个文件夹比如cd /home就是进入 home 文件夹ls查看当前文件夹里的所有文件 / 文件夹mkdir 文件夹名创建一个新文件夹比如mkdir docker-test就是创建一个叫 docker-test 的文件夹vi 文件名创建 / 编辑一个文件核心操作必记输入vi 文件名回车后按键盘i键进入编辑模式就能输入内容了编辑完成后先按Esc键退出编辑模式再输入:wq按回车就能保存文件并退出如果输错了不想保存输入:q!回车强制不保存退出sudo 命令用管理员权限执行命令大部分 Docker 命令前面加 sudo能避免权限报错。阶段 1Docker 安装与环境验证1 天搞定入门第一步学习目标在阿里云 ECS 上完成 Docker 的标准化安装配置阿里云专属加速跑通第一个 Docker 容器确认环境 100% 可用。详细操作步骤所有命令直接复制到命令行回车执行即可1. 系统初始化先把服务器环境准备好# 1. 更新系统软件包把系统里的软件都更新到最新稳定版 sudo yum update -y # 2. 安装Docker需要的依赖工具不装会导致安装失败 sudo yum install -y yum-utils device-mapper-persistent-data lvm22. 配置阿里云 Docker 专属 YUM 源解决下载慢的问题阿里云 ECS 内网源速度拉满无公网流量消耗比官方源快 10 倍以上sudo yum-config-manager --add-repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo3. 一键安装 Docker安装 Docker 引擎、命令行工具、容器运行时、Compose 编排插件一站式装完不用单独装其他东西sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin4. 启动 Docker 并设置开机自启运维必做# 启动Docker服务 sudo systemctl start docker # 设置开机自启服务器重启后Docker会自动启动不用手动操作 sudo systemctl enable docker # 查看Docker运行状态输出里有 active (running) 就说明启动成功了 sudo systemctl status docker按q键可以退出状态查看页面。5. 配置阿里云镜像加速器必做解决镜像拉取慢 / 超时Docker 默认从国外的 Docker Hub 拉取镜像国内访问很慢甚至会超时阿里云给每个用户都提供了免费的专属加速器必须配置。步骤 1获取你的专属加速器地址阿里云控制台搜索「容器镜像服务 ACR」点击进入第一次进入会提示开通选「个人版」免费开通即可左侧导航栏找到「镜像工具」→「镜像加速器」就能看到你的专属加速器地址格式是https://xxxx.mirror.aliyuncs.com复制下来。步骤 2配置加速器并生效# 1. 创建Docker配置文件夹 sudo mkdir -p /etc/docker # 2. 写入加速器配置把下面的地址替换成你复制的专属加速器地址 sudo tee /etc/docker/daemon.json -EOF { registry-mirrors: [https://你的专属地址.mirror.aliyuncs.com], log-driver: json-file, log-opts: { max-size: 100m, max-file: 3 } } EOF # 3. 重载配置重启Docker让配置生效 sudo systemctl daemon-reload sudo systemctl restart docker步骤 3验证加速器是否生效执行下面的命令在输出的内容里找到「Registry Mirrors」如果里面有你配置的加速器地址就说明生效了docker info6. 权限优化免 sudo 执行 docker 命令默认情况下每次执行 docker 命令都要加 sudo很麻烦执行下面的命令把当前用户加入 docker 组就能免 sudo 执行了#这两条命令是 Docker 安装后配置 “普通用户免 sudo 执行 docker 命令” 的标准黄金组合需按顺序执行作用互补。 #核心作用永久将当前用户追加添加到 docker 用户组是免 sudo 操作的前提配置。 sudo usermod -aG docker $USER #核心作用无需退出 / 重新登录当前终端临时刷新并让 docker 组权限立即生效。 newgrp docker第一条命令sudo usermod -aG docker $USER核心作用永久将当前用户追加添加到 docker 用户组是免 sudo 操作的前提配置。逐参数拆解参数 / 部分含义说明sudo以 root 管理员权限执行后续命令修改用户组属性需要管理员权限。usermodLinux 系统中用于修改用户账户属性的专用命令User Modify。-a关键参数表示 “追加Append” 模式。⚠️ 必须加-a否则会覆盖用户的所有附加组仅保留 docker 组导致权限异常。-G指定要修改的是用户的附加组Secondary Groups而非主组。docker目标用户组名Docker 安装时会自动创建名为docker的用户组。$USERShell 环境变量自动替换为当前登录的用户名避免手动输入用户名。执行后的效果系统会修改/etc/group文件将你的用户名写入docker组的成员列表中永久生效。⚠️重要限制Linux 用户组的变更默认仅对 “新登录的终端会话” 生效当前正在使用的终端窗口不会立即获得 docker 组权限。第二条命令newgrp docker核心作用无需退出 / 重新登录当前终端临时刷新并让 docker 组权限立即生效。工作原理它会启动一个新的子 ShellSub-Shell在这个新 Shell 中将你的 “有效主组” 临时切换为docker组。执行后你当前的终端窗口会直接继承 docker 组的权限无需断开 SSH 或重启系统。注意事项这是一个临时状态在该子 Shell 中执行exit命令会回到原本的 Shell 状态临时权限也会消失但永久加组的配置依然保留。前置条件必须先执行过上面的usermod命令否则执行newgrp docker会报错提示你不在该组中。两条命令的完整配合流程第一步永久配置执行sudo usermod -aG docker $USER把你加入 docker 组写入系统配置文件。第二步即时生效执行newgrp docker让当前终端窗口立即获得权限。验证执行docker ps如果不再提示 “permission denied”说明配置成功。补充如果不想用newgrp的替代方案执行完usermod后也可以选择完全退出当前终端或断开 SSH 重连重新登录后权限也会自动生效效果等同于newgrp只是稍微麻烦一点。7. 最终验证跑通你的第一个 Docker 容器执行下面的命令Docker 会拉取 hello-world 测试镜像启动容器打印欢迎信息docker run hello-world只要输出里出现「Hello from Docker!」这句话就说明你的 Docker 环境完全安装成功了恭喜你已经完成了 Docker 入门的第一步。阶段 2吃透 Docker 三大核心概念 高频运维命令2-3 天核心中的核心第一步先搞懂 3 个核心概念大白话版0 基础也能秒懂这 3 个概念搞懂Docker 你就理解了 80%不用死记硬背记住类比就行Docker 概念大白话类比核心特点镜像Image手机 APP 的「安装包」只读的模板文件里面打包了应用运行需要的所有东西代码、环境、配置一个镜像可以创建无数个容器容器Container安装后「正在运行的 APP」镜像的运行实例是真正跑起来的程序每个容器都是独立隔离的互不干扰容器删除后里面的临时数据会丢失仓库Repository手机的「应用商店」专门存放镜像的地方分为公有仓库Docker Hub、阿里云 ACR和私有仓库你可以从仓库拉取镜像也可以把自己做的镜像推送到仓库一句话总结关系你从仓库里拉取一个镜像安装包用这个镜像启动一个容器运行的 APP完成应用部署。第二步镜像高频命令运维日常必用所有命令都有示例复制就能执行每执行一个就用验证命令看效果加深记忆。# 1. 搜索镜像从Docker Hub找你需要的应用镜像比如找nginx的镜像 docker search nginx # 2. 拉取镜像下载安装包:后面是版本号不写默认是latest最新版 docker pull nginx:alpine # 拉取轻量版nginx镜像新手优先用alpine版体积小、漏洞少 docker pull mysql:8.0.36 # 拉取指定版本的mysql镜像生产环境禁止用latest必须固定版本 # 3. 查看本地所有镜像看你下载了哪些安装包 docker images # 4. 给镜像打标签给安装包改个名字主要用于推送到私有仓库 docker tag nginx:alpine my-nginx:v1.0 # 5. 删除镜像卸载安装包注意要先删除用这个镜像创建的容器才能删镜像 docker rmi my-nginx:v1.0 # 6. 清理无用镜像释放服务器磁盘空间运维日常清理用 docker image prune -af第三步容器高频命令运维核心中的核心日常 90% 的工作都用这些先从最简单的命令开始逐步增加复杂度每个参数都讲清楚作用新手先把每个命令都跑一遍看效果。1. 核心容器启动命令docker run先跑一个最简单的 nginx 容器实现浏览器访问你的服务器 IP就能看到 nginx 欢迎页docker run -d -p 80:80 --name my-nginx nginx:alpine每个参数的作用必懂docker run创建并启动一个容器-d后台运行容器不会占用你的命令行窗口-p 宿主机端口:容器端口端口映射把服务器的 80 端口映射到容器的 80 端口这样外网访问服务器 IP就能访问到容器里的 nginx--name 容器名字给容器起一个唯一的名字方便后续管理不用记随机的 ID最后面的nginx:alpine用哪个镜像来创建容器成功验证打开浏览器输入你的 ECS 公网 IP回车能看到 nginx 的欢迎页面就说明容器启动成功了2. 容器查看命令# 查看所有正在运行的容器 docker ps # 查看所有容器包括已经停止、退出的容器排查容器启动失败必用 docker ps -a # 查看容器的详细信息IP地址、挂载路径、配置、状态故障排查核心命令 docker inspect my-nginx3. 容器日志查看命令排查故障头号工具应用启动失败、报错90% 的问题都能通过日志找到原因必学# 查看容器的全量日志 docker logs my-nginx # 实时查看容器的最新100行日志最常用排查实时报错 docker logs -f --tail 100 my-nginx4. 进入容器命令需要进入容器内部修改配置、查看文件时用# 进入运行中的容器alpine镜像用/bin/shubuntu/centos镜像用/bin/bash docker exec -it my-nginx /bin/sh进入容器后就能执行 Linux 命令修改容器里的文件输入exit回车就能退出容器回到服务器命令行。5. 容器启停、重启、删除命令# 停止运行中的容器 docker stop my-nginx # 启动已经停止的容器 docker start my-nginx # 重启容器改了配置后重启生效 docker restart my-nginx # 删除容器必须先停止容器才能删除生产环境谨慎操作 docker rm my-nginx # 强制删除运行中的容器紧急情况用 docker rm -f my-nginx # 批量清理已经退出的无用容器运维日常清理 docker container prune -f6. 进阶带数据持久化的容器启动必学避免数据丢失新手最容易踩的坑容器删除后里面的数据全没了比如 mysql 容器删了数据库里的数据就没了。解决方法用-v 宿主机路径:容器路径参数把容器里的数据目录挂载到服务器上容器删除服务器上的数据还在这就是数据持久化生产环境必用。示例启动一个带数据持久化的 mysql 容器# 1. 先创建一个文件夹用来存mysql的数据 mkdir -p /data/mysql/data # 2. 启动mysql容器挂载数据目录 docker run -d \ --name my-mysql \ -p 3306:3306 \ -v /data/mysql/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD123456 \ --restartalways \ mysql:8.0.36新增参数说明-v 宿主机路径:容器路径数据卷挂载实现数据持久化-e 环境变量名值给容器设置环境变量这里是设置 mysql 的 root 用户密码--restartalways容器异常退出、服务器重启后自动启动容器生产环境必加新手必做实操任务学完就练巩固技能用 docker run 启动一个 nginx 容器完成端口映射浏览器访问 ECS 公网 IP 能正常打开 nginx 欢迎页。用 docker run 启动一个 mysql 容器完成数据持久化、密码配置用本地数据库工具如 Navicat能正常连接。模拟容器启动失败用 docker logs 命令查看日志定位报错原因。停止、重启、删除容器用 docker ps -a 命令查看状态变化。阶段 3Dockerfile 自定义镜像构建3 天从会用到会做学习目标理解 Dockerfile 的作用能独立编写 Dockerfile构建自己的自定义镜像解决官方镜像无法满足业务需求的问题这是运维进阶的必备技能。核心认知Dockerfile 就是一个构建镜像的说明书里面写了一步步的构建指令Docker 会根据这个说明书自动构建出你想要的镜像实现镜像的标准化、可复制化。第一步先搞懂 Dockerfile 核心指令大白话版不用记所有指令先把这 8 个最常用的搞懂就能搞定 90% 的构建场景指令大白话作用新手注意事项FROM指定基础镜像比如基于 nginx、ubuntu 来构建你的镜像必须是 Dockerfile 的第一行优先选 alpine 轻量版固定版本禁止用 latestLABEL给镜像加标注比如作者、版本、描述方便镜像管理别人用的时候知道是谁做的、干嘛的RUN构建镜像时执行的命令比如安装软件、创建文件夹多条命令尽量合并成一条减少镜像体积COPY把你服务器上的文件复制到镜像里优先用 COPY不要用 ADD避免安全风险WORKDIR设置容器的工作目录相当于 cd 命令避免用 cd 来回切换目录保证路径统一EXPOSE声明容器要暴露的端口只是声明不会自动做端口映射提升 Dockerfile 可读性CMD容器启动时执行的命令一个 Dockerfile 只有一个 CMD 生效是容器的默认启动命令ENV设置环境变量避免硬编码方便修改配置第二步0 基础第一个 Dockerfile 实战100% 能跑通我们来构建一个带自定义页面的 nginx 镜像一步一步来跟着做就能成功。1. 准备工作# 创建构建文件夹进入文件夹 mkdir -p /data/docker-build/my-nginx cd /data/docker-build/my-nginx2. 编写 Dockerfile执行vi Dockerfile回车按i进入编辑模式复制下面的内容粘贴进去按Esc输入:wq回车保存# 基础镜像用轻量版nginx固定版本 FROM nginx:alpine # 镜像标注信息 LABEL maintainer0基础Docker学习 versionv1.0 description我的第一个自定义nginx镜像 # 设置时区解决容器时间和北京时间不一致的问题 RUN apk add --no-cache tzdata \ cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ echo Asia/Shanghai /etc/timezone # 把本地的页面文件复制到镜像里的nginx网页目录 COPY index.html /usr/share/nginx/html/ # 声明暴露80端口 EXPOSE 80 # 容器启动命令启动nginx CMD [nginx, -g, daemon off;]3. 编写自定义页面执行vi index.html回车按i进入编辑模式复制下面的内容粘贴进去按Esc输入:wq回车保存h1恭喜你成功构建了自己的第一个Docker镜像/h1 p0基础也能学会Docker你太棒了/p4. 构建镜像执行下面的命令Docker 会根据 Dockerfile 自动构建镜像# -t 给镜像起名字:版本号. 代表当前目录Dockerfile所在的目录 docker build -t my-nginx:v1.0 .执行后会一步步输出构建过程没有报错最后输出「Successfully built xxxxx」就说明镜像构建成功了5. 运行自定义镜像验证效果# 先把之前的my-nginx容器删掉避免端口冲突 docker rm -f my-nginx # 用你自己构建的镜像启动容器 docker run -d -p 80:80 --name my-nginx my-nginx:v1.0成功验证打开浏览器输入你的 ECS 公网 IP回车就能看到你写的自定义页面恭喜你已经掌握了自定义镜像构建的核心技能。第三步进阶最佳实践非 root 用户运行生产环境禁止用 root 用户运行容器在 Dockerfile 里创建普通用户用最小权限运行。多阶段构建把编译和运行分离最终镜像只包含运行环境不包含源码和编译工具大幅减小镜像体积降低安全风险。健康检查在 Dockerfile 里加 HEALTHCHECK 指令监控容器里的服务状态异常时自动重启。阶段 4Docker Compose 多容器编排2 天运维必备学习目标理解 Compose 的作用能编写 docker-compose.yml 文件实现多容器一键启停、依赖管理解决多容器部署一个个 run 的麻烦是阿里云单节点服务器运维的核心工具。核心认知Docker Compose 就是一个多容器编排工具你可以在一个 yml 文件里定义好所有要启动的容器、端口、挂载、依赖关系然后用一条命令就能一键启动 / 停止所有容器不用一个个执行 docker run 命令效率提升 10 倍。详细实操步骤1. 验证安装新版 Docker 已经自带了 Compose 插件不用单独安装执行下面的命令验证能输出版本号就说明已经安装好了docker compose version2. 0 基础第一个 Compose 实战一键启动 nginxmysql我们来写一个最简单的 docker-compose.yml 文件实现一键启动 nginx 和 mysql 两个容器带数据持久化、自动重启、依赖管理。步骤 1准备工作# 创建工作目录进入目录 mkdir -p /data/compose/lnmp cd /data/compose/lnmp步骤 2编写 docker-compose.yml 文件执行vi docker-compose.yml回车按i进入编辑模式复制下面的内容粘贴进去按Esc输入:wq回车保存# Compose文件版本适配Docker 20版本 version: 3.8 # 服务定义每个service对应一个容器 services: # Nginx服务 nginx: # 用哪个镜像 image: nginx:alpine # 容器名字 container_name: compose-nginx # 端口映射 ports: - 80:80 # 数据挂载 volumes: - ./html:/usr/share/nginx/html - ./nginx/logs:/var/log/nginx # 依赖管理先启动mysql再启动nginx depends_on: - mysql # 重启策略异常自动重启 restart: always # MySQL服务 mysql: image: mysql:8.0.36 container_name: compose-mysql ports: - 3306:3306 # 环境变量设置root密码、默认数据库 environment: MYSQL_ROOT_PASSWORD: 123456 MYSQL_DATABASE: test_db # 数据持久化挂载 volumes: - ./mysql/data:/var/lib/mysql restart: always步骤 3一键启动所有服务# 后台启动所有服务这条命令会自动读取当前目录的docker-compose.yml文件 docker compose up -d执行后Docker 会自动拉取镜像、创建容器、启动服务没有报错就说明启动成功了步骤 4验证效果执行docker compose ps能看到两个容器的状态都是Up就说明运行正常。浏览器访问 ECS 公网 IP能看到 nginx 欢迎页说明 nginx 服务正常。用本地数据库工具连接 ECS 公网 IP:3306用户名 root密码 123456能正常连接说明 mysql 服务正常。3. Compose 核心运维命令必记# 1. 一键启动所有服务后台运行 docker compose up -d # 2. 一键停止并删除所有容器、网络不会删除挂载的数据 docker compose down # 3. 查看所有服务的运行状态 docker compose ps # 4. 查看所有服务的实时日志 docker compose logs -f --tail 100 # 5. 查看指定服务的日志 docker compose logs -f nginx # 6. 停止/启动/重启所有服务 docker compose stop docker compose start docker compose restart # 7. 进入指定服务的容器 docker compose exec nginx /bin/sh新手必做实操任务用 Docker Compose 一键部署 WordPress 个人博客包含 nginxmysqlwordpress 三个服务完成数据持久化浏览器访问能正常安装并使用博客。阶段 5Docker 与阿里云生态结合1 天贴合阿里云运维岗位这部分是专门针对阿里云运维的学完就能直接用到工作中0 基础也能上手。一、阿里云 ACR 容器镜像服务私有镜像仓库我们前面构建的自定义镜像只能在当前服务器上用如果你想在其他服务器上用或者给团队用就需要推送到私有镜像仓库阿里云 ACR 就是阿里云的私有镜像仓库免费个人版完全够用。核心实操步骤阿里云控制台进入「容器镜像服务 ACR」左侧找到「实例列表」→「个人实例」先创建一个命名空间比如叫ops-docker再创建一个镜像仓库比如叫my-nginx选择私有代码源选本地仓库。进入仓库详情页就能看到官方给的操作命令跟着执行即可核心命令如下# 1. 登录ACR仓库替换成你的阿里云账号、地域地址杭州是cn-hangzhou docker login --username你的阿里云账号 registry.cn-hangzhou.aliyuncs.com # 2. 给本地镜像打标签格式仓库地址/命名空间/仓库名:版本 docker tag my-nginx:v1.0 registry.cn-hangzhou.aliyuncs.com/ops-docker/my-nginx:v1.0 # 3. 推送镜像到ACR私有仓库 docker push registry.cn-hangzhou.aliyuncs.com/ops-docker/my-nginx:v1.0 # 4. 在其他服务器上拉取这个镜像 docker pull registry.cn-hangzhou.aliyuncs.com/ops-docker/my-nginx:v1.0二、阿里云监控与告警配置运维的核心工作是保障服务稳定所以必须给 Docker 容器配置监控和告警容器挂了、服务器资源不够了能第一时间收到通知。阿里云控制台进入「云监控」左侧找到「主机监控」→「实例列表」找到你的 ECS 服务器安装云监控插件一键安装。配置告警规则比如 CPU 使用率超过 80%、内存使用率超过 85%、容器进程不存在触发告警通过钉钉 / 短信通知你。阶段 60 基础可落地的实战项目2 天检验学习成果项目基于阿里云 ECSDocker 搭建个人博客网站项目目标用你前面学的所有技能完成一个完整的项目从镜像构建、多容器编排、HTTPS 配置、数据持久化最终做出一个能正常访问的个人博客学完这个项目你就完全掌握了 Docker 运维的核心技能甚至能写进简历里。核心实现步骤用 Docker Compose 编排 3 个服务Nginx反向代理、WordPress博客程序、MySQL数据库。完成所有服务的数据持久化确保容器删除博客数据不丢失。给域名备案、解析到 ECS 公网 IP配置阿里云免费 SSL 证书实现 HTTPS 访问。配置 Nginx 反向代理实现域名访问博客。配置阿里云云监控实现服务异常告警。编写数据定时备份脚本每天自动备份博客数据库和文件。阶段 7后续进阶学习路线阿里云运维方向学完上面的内容你已经掌握了 Docker 的基础运维技能能胜任阿里云运维的基础 Docker 相关工作后续可以按这个路线进阶Linux 进阶 Shell 脚本运维的基本功学会写脚本实现 Docker 容器、镜像、数据的自动化备份、清理、监控。Docker 底层原理Namespace、Cgroup、UnionFS理解 Docker 隔离、资源限制的底层实现。Docker 网络、存储、安全进阶跨主机容器通信、共享存储、容器安全加固符合生产环境等保要求。KubernetesK8sDocker 是单机容器编排K8s 是集群容器编排是阿里云运维、云原生运维的核心技能重点学习阿里云 ACK 容器服务。CI/CD 自动化部署JenkinsDockerK8s实现代码提交后自动构建镜像、自动部署实现 DevOps 全流程。云原生可观测性PrometheusGrafana 监控、ELK/EFK 日志收集、链路追踪实现全栈监控。0 基础高频踩坑避坑指南提前避坑少走弯路浏览器访问不了服务90% 的情况是这 3 个问题按顺序排查①阿里云安全组有没有开放对应的端口②服务器防火墙有没有关闭 / 开放端口③容器有没有正常启动端口映射有没有写反宿主机端口在前容器端口在后。镜像拉取慢 / 超时100% 是没配置阿里云镜像加速器或者加速器地址写错了重新检查配置重启 Docker 即可。命令执行报错权限不够要么在命令前面加 sudo要么执行把用户加入 docker 组的命令重新登录服务器即可。容器删除后数据丢失一定要用 - v 参数做数据持久化把容器里的数据目录挂载到服务器上不要把数据存在容器内部。容器启动了就自动退出用 docker logs 命令看日志90% 的情况是配置文件写错了、启动命令不对或者容器里的主进程启动失败根据日志报错修复即可。生产环境用 latest 标签绝对禁止latest 是最新版每次拉取可能版本不一样会导致环境不一致生产环境必须固定镜像版本。

更多文章