服务器运维中使用 Docker,核心目标是:把应用及其依赖打包成容器,做到环境一致、部署快速、扩容方便、故障隔离。下面从「概念 → 常用场景 → 实操命令 → 运维套路」给你一套实用指南。
环境一致性
快速部署 / 回滚
资源隔离
横向扩展
docker run -d -p 80:80 --name nginx nginx
docker run -d \
--name mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-v /data/mysql:/var/lib/mysql \
-p 3306:3306 \
mysql:8
✅ 重点:数据一定要挂载到宿主机
docker images
docker pull nginx
docker rmi nginx
docker ps
docker ps -a
docker start xxx
docker stop xxx
docker restart xxx
docker rm xxx
docker logs -f xxx
docker exec -it xxx bash
示例(Python 服务):
FROM python:3.10
WORKDIR /app
COPY . .
RUN pip install -r requirements.txt
CMD ["python", "app.py"]
构建:
docker build -t myapp:1.0 .
适合:一台服务器上跑多个服务
version: "3"
services:
web:
image: nginx
ports:
- "80:80"
mysql:
image: mysql:8
environment:
MYSQL_ROOT_PASSWORD: 123456
volumes:
- ./mysql:/var/lib/mysql
启动:
docker-compose up -d
-vnginx:1.25
mysql:8.0
❌ 不要用 latest
docker run -d --memory=512m --cpus=1 nginx
docker run -d --restart=always nginx
服务器运维用 Docker = 把服务“集装箱化”,用镜像代替环境,用命令代替手工,用编排代替混乱。
如果你愿意,我可以:
你现在是「刚接触 Docker」还是「已经在服务器上用了」?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。