温馨提示×

Ubuntu如何使用Docker

小樊
44
2026-01-02 12:05:32
栏目: 智能运维

Ubuntu 上使用 Docker 的完整入门指南

一 安装与启动

  • 更新索引并安装依赖
    • sudo apt update
    • sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release
  • 添加 Docker 官方 GPG 密钥与 APT 源(推荐方式)
    • curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    • echo “deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable” | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  • 安装 Docker 引擎
    • sudo apt update
    • sudo apt install -y docker-ce docker-ce-cli containerd.io
  • 启动并设置开机自启
    • sudo systemctl start docker
    • sudo systemctl enable docker
  • 验证安装
    • sudo docker version
    • sudo docker run --rm hello-world
  • 可选 快速安装(系统仓库)
    • sudo apt install -y docker.io
    • sudo systemctl start docker && sudo systemctl enable docker

二 非 root 用户与常用管理

  • 允许普通用户执行 docker(需重新登录生效)
    • sudo usermod -aG docker $USER
  • 服务管理
    • 查看状态:sudo systemctl status docker
    • 重启服务:sudo systemctl restart docker
  • 镜像与容器常用命令
    • 拉取镜像:docker pull ubuntu
    • 运行交互式容器:docker run -it ubuntu bash
    • 查看运行容器:docker ps
    • 查看所有容器:docker ps -a
    • 停止容器:docker stop <容器ID或名称>
    • 启动已停止容器:docker start <容器ID或名称>
    • 进入运行中容器:docker exec -it <容器ID或名称> bash
    • 查看日志:docker logs <容器ID或名称>
    • 删除容器:docker rm <容器ID或名称>
    • 删除镜像:docker rmi <镜像名或ID>

三 配置镜像加速与资源限制

  • 配置镜像加速器(提升拉取速度)
    • 编辑配置文件:sudo nano /etc/docker/daemon.json
    • 示例(按需选择其一或多项):
      • { “registry-mirrors”: [ “https://mirror.aliyuncs.com”, “https://docker.m.daocloud.io”, “https://registry.docker-cn.com” ] }
    • 使配置生效:sudo systemctl daemon-reload && sudo systemctl restart docker
  • 资源限制(防止占用过多资源)
    • 限制 CPU 与内存:docker run -it --cpus=“1.0” --memory=“512m” ubuntu

四 快速示例 运行 Nginx 并映射端口

  • 拉取并启动 Nginx
    • docker run -d --name web -p 8080:80 nginx:latest
  • 验证
    • 在浏览器访问:http://localhost:8080
  • 常用操作
    • 查看日志:docker logs web
    • 进入容器:docker exec -it web bash
    • 停止并删除:docker stop web && docker rm web

五 常见问题排查

  • 权限被拒绝
    • 将当前用户加入 docker 组并重新登录:sudo usermod -aG docker $USER
  • 服务无法启动
    • 查看日志定位问题:sudo journalctl -u docker
  • 容器网络异常
    • 重启 Docker 网络:sudo systemctl restart docker
    • 检查网络:docker network inspect bridge
  • 镜像拉取慢
    • 配置国内镜像加速器(见上文)

0