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

Linux(Ubuntu)系统安装Docker与Docker Compose完整指南

本文是为需要在Ubuntu系统部署容器服务的开发者准备的详细教程。我们将分两个主要部分讲解:Docker引擎的标准安装流程和Docker Compose的配置方法。所有操作均在终端执行,建议使用Ubuntu 18.04及以上版本。

一、Docker引擎安装全流程
(总耗时约5-10分钟,需root权限)

1. 系统环境准备
在开始安装前,建议先更新软件源并升级现有软件包:
 

sudo apt-get update       # 刷新软件源索引
sudo apt-get upgrade -y   # 自动升级所有可更新软件包



注意:若系统提示需要重启(如内核升级),建议执行`sudo reboot`重启后再继续

2. 安装必备依赖组件
 

sudo apt-get install -y \
    ca-certificates \    # SSL证书支持
    curl \               # 网络传输工具
    gnupg \             # 加密签名工具
    lsb-release         # 系统版本信息工具



这些依赖确保后续安装过程的安全性和兼容性

3. 官方脚本自动化安装
推荐使用Docker官方提供的一键安装脚本:
 

curl -fsSL https://test.docker.com -o test-docker.sh  # 下载安装脚本
sh test-docker.sh                                    # 执行安装程序



说明:此脚本会自动完成以下工作:
- 添加Docker官方GPG密钥
- 设置稳定版仓库
- 安装containerd运行时
- 配置docker-ce核心组件
- 创建docker用户组

4. 配置国内镜像加速(关键步骤)
由于默认仓库访问较慢,需配置镜像源加速:
 

sudo vim /etc/docker/daemon.json  # 使用nano编辑器可替换为sudo nano



输入以下内容(建议保留3-4个镜像源):
 


{
    "registry-mirrors": [
        "https://docker.m.daocloud.io",    # 道克镜像
        "https://docker.imgdb.de",         # 德国镜像
        "https://docker-0.unsee.tech",     # 美国西海岸镜像
        "https://docker.hlmirror.com"      # 香港镜像
    ]
}

保存后按Esc输入:wq退出vim

5. 重启服务使配置生效
 

sudo systemctl daemon-reload     # 重载服务配置
sudo systemctl restart docker    # 重启docker服务
sudo systemctl enable docker     # 设置开机自启(可选)


验证服务状态:

`systemctl status docker`应显示active(running)

6. 功能验证测试
执行基础镜像拉取测试:
 

sudo docker pull hello-world    # 下载测试镜像
sudo docker run hello-world     # 运行测试容器

成功输出"Hello from Docker!"即表示安装成功

二、Docker Compose安装指南
(Docker官方推荐使用插件形式安装)

1. 执行安装命令
 

sudo apt install -y docker-compose-plugin  # 安装官方插件版



该版本相较于传统的docker-compose有以下优势:
- 直接集成到docker CLI
- 版本与Docker Engine同步更新
- 兼容compose v2语法

2. 验证安装结果
 

docker compose version  # 注意中间没有短横线


预期输出示例:
Docker Compose version v2.17.2

三、进阶配置建议

1. 非root用户权限配置(可选)
为避免每次使用sudo,可将当前用户加入docker组:
 

sudo usermod -aG docker $USER   # $USER替换为具体用户名
newgrp docker                   # 刷新用户组



注意:修改后需要重新登录生效

2. 常用维护命令
- 查看docker版本:`docker version`
- 查看系统信息:`docker info`
- 清理无用镜像:`docker system prune`

四、常见问题排查

Q1:镜像拉取速度慢
A:检查daemon.json配置格式,建议注释掉部分镜像源测试

Q2:权限拒绝错误
A:执行`sudo chmod 777 /var/run/docker.sock`临时解决,建议使用用户组方案

Q3:脚本安装失败
A:可尝试官方备用方案:
 

sudo apt-get install docker-ce docker-ce-cli containerd.io


 

五、版本兼容说明
- Docker 23.x+ 已内置Compose插件
- 旧版Compose文件需注意volume语法差异
- 建议定期执行`sudo apt-get upgrade docker-*`保持更新

六、安全建议
1. 定期清理无用镜像:`docker image prune`
2. 避免使用--privileged特权模式
3. 生产环境建议配置TLS证书加密

通过本教程,您已完成Docker环境的完整部署。接下来可以:
- 尝试部署Nginx:`docker run -d -p 80:80 nginx`
- 学习Dockerfile编写
- 使用docker-compose编排多容器应用


http://www.kler.cn/a/595894.html

相关文章:

  • 【NLP】 API在大语言模型中的应用
  • 【MATLAB例程】基于TDOA定位(两步最小二乘)的三维轨迹定位和UKF滤波,TDOA的锚点可以自适应,附完整代码
  • AWS CDK实战:用代码重新定义云基础设施部署
  • Python 爬虫(4)HTTP协议
  • 【Vitis AIE】FPGA快速部署ConvNet 示例MNIST数据集
  • [HelloCTF]PHPinclude-labs超详细WP-Level 4-http协议
  • 无人机4G双链路技术分析!
  • DeepSeek R1 本地部署指南 (2) - macOS 本地部署
  • 美团Leaf分布式ID实战:深入解析雪花算法原理与应用
  • docker常见的命令详细介绍
  • Mysql-经典实战案例(10):如何用PT-Archiver完成大表的自动归档
  • CSS中的伪类与伪元素:让样式更加灵活优雅
  • 【SpringBatch】04九张批处理表、作业控制:启动 停止 重启
  • 可发1区的超级创新思路:基于注意力机制的DSD-CNN时间序列预测模型(功率预测、交通流量预测、故障检测)
  • Windows10抓包工具Wireshark下载、安装、使用
  • 10.PE导出表
  • Apache DolphinScheduler:一个可视化大数据工作流调度平台
  • 软考教材重点内容 信息安全工程师 第20章 数据库系统安全
  • 解决项目使用eslint+prettier,启动报错: error Delete `␍` prettier/prettier
  • Neo4j GDS-01-graph-data-science 图数据科学插件库概览