> 技术文档 > Ubuntu 24.04 完整Docker安装指南:从零配置到实战命令大全_ubuntu24.04安装docker

Ubuntu 24.04 完整Docker安装指南:从零配置到实战命令大全_ubuntu24.04安装docker


文章目录

    • 1. 安装 Docker
    • 2. 配置 Docker 镜像加速器
      • 2.1 配置 Docker 镜像源
      • 2.2 重启 Docker 服务
    • 3. Docker 常用命令
      • 3.1 Docker 常用命令速查表
        • 3.1.1 容器管理
        • 3.1.2 镜像管理
        • 3.1.3 网络管理
        • 3.1.4 数据卷管理
        • 3.1.5 容器资源管理
        • 3.1.6 Docker Compose(容器编排)
        • 3.1.7 清理与维护
      • 3.2 常用组合命令
      • 3.3 常见问题
        • 3.3.1 如何修改容器配置?
        • 3.3.2 如何查看容器占用的端口?
        • 3.3.3 如何查看 Docker 版本?

1. 安装 Docker

官方安装文档

以下以 Ubuntu24.04 为例:

# 添加 Docker 仓库的 GPG 密钥sudo apt-get updatesudo apt-get install ca-certificates curlsudo install -m 0755 -d /etc/apt/keyringssudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.ascsudo chmod a+r /etc/apt/keyrings/docker.asc# 添加 Docker 仓库到 apt 源echo \\ \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo \"${UBUNTU_CODENAME:-$VERSION_CODENAME}\") stable\" | \\ sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullsudo apt-get update# 安装 Docker 以及 Docker Composesudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin# 验证安装# 可能出现以下提示,需要先配置 Docker 镜像加速器# Unable to find image \'hello-world:latest\' locally# docker: Error response from daemon: Get \"https://registry-1.docker.io/v2/\": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)sudo docker run hello-world

2. 配置 Docker 镜像加速器

2.1 配置 Docker 镜像源

sudo tee /etc/docker/daemon.json <<-\'EOF\'{ \"registry-mirrors\": [ \"https://docker.m.daocloud.io\", \"https://mirror.baidubce.com\", \"http://hub-mirror.c.163.com\", \"https://docker.mirrors.ustc.edu.cn\", \"https://registry.docker-cn.com\" ], \"log-driver\": \"json-file\", \"log-opts\": { \"max-size\": \"10m\", \"max-file\": \"3\" }}EOF

注:

  • log-driver:指定 Docker 容器使用 Json 文件作为日志存储格式
  • log-opts:指定日志文件大小和数量,超过限制时自动清理
    • max-size:单个日志文件最大大小(支持 k(千字节)、m(兆字节)、g(千兆字节))
    • max-file:保留的日志文件数量

2.2 重启 Docker 服务

sudo systemctl daemon-reloadsudo systemctl restart docker

3. Docker 常用命令

3.1 Docker 常用命令速查表

3.1.1 容器管理
命令 说明 docker run -it --name my_container image:tag 创建并运行容器(交互式) docker run -d --name my_container image:tag 后台运行容器 docker start/stop/restart my_container 启动/停止/重启容器 docker exec -it my_container /bin/bash 进入运行中的容器 docker rm my_container 删除容器 docker rm -f my_container 强制删除运行中的容器 docker ps 查看运行中的容器 docker ps -a 查看所有容器(包括已停止的) docker logs my_container 查看容器日志 docker logs -f my_container 实时查看日志(类似 tail -f
3.1.2 镜像管理
命令 说明 docker pull image:tag 拉取镜像 docker images 查看本地镜像 docker rmi image:tag 删除镜像 docker build -t my_image:tag . 构建镜像(基于当前目录的 Dockerfiledocker save -o my_image.tar image:tag 导出镜像为 .tar 文件 docker load -i my_image.tar.tar 文件导入镜像
3.1.3 网络管理
命令 说明 docker network ls 查看所有网络 docker network create my_network 创建自定义网络 docker network inspect my_network 查看网络详情 docker run --network=my_network ... 指定容器使用的网络
3.1.4 数据卷管理
命令 说明 docker volume ls 查看所有数据卷 docker volume create my_volume 创建数据卷 docker run -v my_volume:/path/in/container ... 挂载数据卷到容器 docker run -v /host/path:/container/path ... 挂载主机目录到容器
3.1.5 容器资源管理
命令 说明 docker stats 查看容器资源占用(CPU/内存/网络) docker top my_container 查看容器内的进程 docker update --memory 512M my_container 限制容器内存
3.1.6 Docker Compose(容器编排)
命令 说明 docker-compose up -d 启动 docker-compose.yml 定义的服务 docker-compose down 停止并删除所有容器 docker-compose logs -f 查看所有服务的日志 docker-compose ps 查看运行中的服务
3.1.7 清理与维护
命令 说明 docker system df 查看 Docker 磁盘使用情况 docker system prune 清理未使用的容器/镜像/网络 docker system prune -a 彻底清理(包括未使用的镜像)

3.2 常用组合命令

# 删除所有停止的容器docker container prune# 删除所有未使用的镜像docker image prune -a# 查看容器 IP 地址docker inspect -f \'{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}\' my_container# 批量停止所有容器docker stop $(docker ps -aq)# 批量删除所有容器docker rm $(docker ps -aq)

3.3 常见问题

3.3.1 如何修改容器配置?
# 修改容器配置(如端口映射)docker update --restart=always my_containerdocker update --publish-add 8080:80 my_container
3.3.2 如何查看容器占用的端口?
docker port my_container
3.3.3 如何查看 Docker 版本?
docker --versiondocker info