当前位置: 首页 > news >正文

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

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

文章目录

  • Ubuntu 24.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 update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo 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 Compose
sudo 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"]
}
EOF

2.2 重启 Docker 服务

sudo systemctl daemon-reload
sudo 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 .构建镜像(基于当前目录的 Dockerfile
docker 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_container
docker update --publish-add 8080:80 my_container
3.3.2 如何查看容器占用的端口?
docker port my_container
3.3.3 如何查看 Docker 版本?
docker --version
docker info
http://www.xdnf.cn/news/261577.html

相关文章:

  • NuttX 与 PX4 系统开发全流程详解
  • 《AI大模型应知应会100篇》第46篇:大模型推理优化技术:量化、剪枝与蒸馏
  • 基于 SAFM 超分辨率上采样模块的 YOLOv12 改进方法—模糊场景目标检测精度提升研究
  • 一、大模型原理:第一步分词Tokenization
  • MySQL数据操作全攻略:DML增删改与DQL高级查询实战指南
  • hadoop存储数据文件原理
  • 微服务设计约束
  • 介绍 PHP-FPM 和 Python WSGI
  • 【Bootstrap V4系列】学习入门教程之 组件-按钮(Buttons)
  • 宝塔docker拉取仓库失败
  • Nginx发布Vue(ElementPlus),与.NETCore对接(腾讯云)
  • list的迭代器详讲
  • Linux之基础开发工具(yum,vim,gcc,g++)
  • 基于 Dify + vLLM插件 + Qwen3 构建问答机器人Docker版
  • 【计算机视觉】三维重建: OpenMVS:工业级多视图立体视觉重建框架
  • ActiveMQ 集群搭建与高可用方案设计(二)
  • 生成对抗网络(GAN, Generative Adversarial Network)​
  • More Effective C++学习笔记
  • ShaderToy学习笔记 08.阴影
  • 力扣:24两两交换链表的节点
  • 搭建一个 gRPC 服务端和客户端
  • 【Java学习】关于springBoot的自动配置和起步依赖
  • CSS 预处理器 Sass
  • 【2025软考高级架构师】——案例分析总结(13)
  • 如何写好大模型提问提示词:从入门到精通的实战指南
  • 华为云Flexus+DeepSeek征文|快速搭建Dify LLM应用开发平台教程
  • 启发式算法-蚁群算法
  • 2.2 矩阵
  • 前端跨域问题怎么在后端解决
  • flutter3.29 build.gradle.kts设置安卓签名