ubuntu docker容器怎么管理
小樊
43
2025-12-10 13:18:55
Ubuntu Docker 容器管理速查
一 基础准备与常用命令
- 安装与启动
- 更新索引并安装依赖:sudo apt update && sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
- 添加 Docker 官方 GPG 与仓库,然后安装引擎:sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io
- 启动并设置开机自启:sudo systemctl start docker && sudo systemctl enable docker
- 验证:sudo docker run --rm hello-world
- 常用容器操作
- 运行并进入交互:docker run -it --name my-ubuntu ubuntu:24.04 /bin/bash
- 后台运行并映射端口:docker run -d --name web -p 8080:80 nginx:latest
- 查看与进入:docker ps -a;docker start my-ubuntu;docker exec -it my-ubuntu /bin/bash
- 停止与重启:docker stop my-ubuntu;docker restart my-ubuntu
- 查看日志与资源:docker logs -f my-ubuntu;docker stats my-ubuntu
- 删除容器:docker rm my-ubuntu(运行中需先 stop 或使用 -f 强制)
- 查看详细信息:docker inspect my-ubuntu
二 数据持久化与网络
- 数据卷 Volume(推荐)
- 创建:docker volume create myvol
- 使用:docker run -d --name app -v myvol:/data ubuntu:24.04
- 查看与清理:docker volume ls;docker volume rm myvol
- 绑定挂载 Bind Mount
- 使用:docker run -it --name dev -v /host/path:/container/path ubuntu:24.04
- 网络
- 创建自定义网络:docker network create backend
- 连接:docker run -d --name api --network backend nginx:latest
- 端口与连通性:docker port api;在容器内可 ping 同网络的其他容器
三 镜像与多容器编排
- 镜像管理
- 拉取与构建:docker pull ubuntu:24.04;docker build -t myapp:1.0 .
- 导出与导入:docker save -o myapp.tar myapp:1.0;docker load -i myapp.tar
- 删除镜像:docker rmi myapp:1.0(需先删除依赖容器)
- Docker Compose(多容器应用)
- 示例 docker-compose.yml:
version: “3.8”
services:
web:
image: nginx:latest
ports:
- “8080:80”
volumes:
- ./html:/usr/share/nginx/html
app:
build: .
depends_on:
- web
- 启动与停止:docker-compose up -d;docker-compose down
四 运维与安全最佳实践
- 非 root 使用
- 将用户加入 docker 组:sudo usermod -aG docker $USER,退出并重新登录后生效(注意安全风险)
- 资源限制
- 限制 CPU/内存:docker run -it --cpus=“1.0” --memory=“512m” ubuntu:24.04
- 日志与监控
- 实时查看日志与资源:docker logs -f my-ubuntu;docker stats
- 清理与空间回收
- 谨慎清理:docker system prune -af --volumes(删除所有未使用资源,含卷,生产环境先确认)
- 镜像加速与配置
- 编辑 /etc/docker/daemon.json 添加镜像加速器(如国内镜像源),然后 sudo systemctl restart docker
- 服务与故障排查
- 查看服务状态与日志:sudo systemctl status docker;sudo journalctl -u docker