实用指南站
霓虹主题四 · 更硬核的阅读氛围

运维自动化Docker操作实用入门

发布时间:2026-01-11 21:30:45 阅读:49 次

为什么办公室的运维越来越依赖ref="/tag/2019/" style="color:#2B406D;font-weight:bold;">Docker

在不少公司里,开发和运维人员常常因为“在我电脑上能跑”这种问题吵得不可开交。这时候,Docker 就成了救场的工具。它能把应用和依赖打包成一个镜像,不管换哪台机器,只要跑起来,结果都一样。对办公网络环境来说,这意味着部署更稳定、出错更少。

尤其是中小型企业,没有庞大的IT团队,靠手动配置服务器不仅慢还容易出错。用 Docker 配合自动脚本,几分钟就能把一套测试环境搭好,省时又省心。

从零开始:写个简单的 Dockerfile

假设你要部署一个内部使用的网页后台,基于 Python Flask。先写个 Dockerfile 描述怎么构建这个服务:

FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
EXPOSE 5000
CMD ["python", "app.py"]

这个文件告诉 Docker:用 Python 3.9 的基础镜像,在容器里安装依赖,复制代码,开放 5000 端口,最后运行 app.py。保存后,执行命令构建镜像:

docker build -t my-flask-app .

镜像建好了,就可以随时启动容器,不需要反复配置环境。

用 docker-compose 管理多服务

实际项目往往不止一个服务。比如你的后台还需要连 MySQL 和 Redis。一个个手动启动太麻烦,这时候可以用 docker-compose.yml 统一管理:

version: '3'
services:
web:
build: .
ports:
- "5000:5000"
depends_on:
- db
- redis
db:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: example
redis:
image: redis:alpine

写好这个文件后,只需要一条命令:

docker-compose up -d

三个服务全起来了,下次重启也不用重新配置。这对办公网内搭建测试或演示系统特别方便。

结合 Shell 脚本实现简单自动化

你可以在服务器上写个更新脚本,让非技术人员也能操作。比如 create_backup.sh:

#!/bin/bash
docker exec db mysqldump -u root -pexample mydb > backup_$(date +%F).sql
echo "数据库已备份"

再写个 deploy.sh 自动拉取最新代码并重启服务:

#!/bin/bash
git pull origin main
docker-compose down
docker-compose up -d --build
echo "服务已更新"

把这两个脚本权限设好,普通员工点一下就能完成日常维护,减少对技术同事的打扰。

注意这些坑,避免影响办公网络

Docker 虽好,但也别乱来。比如默认不设资源限制,某个容器吃光内存,整个办公网络都可能变卡。建议在 docker-compose 中加限制:

web:
image: my-flask-app
mem_limit: 512m
cpus: 0.5

还有,别把数据库密码写死在代码里。可以用环境变量或 .env 文件管理:

environment:
- DB_PASSWORD=${DB_PASS}

然后在同目录建 .env 文件存放真实值,不上传到代码仓库,安全又灵活。

现在不少公司用 Jenkins 或 GitHub Actions 做自动发布,原理也类似:代码一提交,自动走一遍 build、test、deploy 流程。哪怕你只是维护内部系统,也可以从小处做起,用 Docker 把重复操作变成一键执行。