温馨提示×

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

0