2026新版Ubuntu安装Docker(20.10+)和Docker Compose全过程

 更新时间:2026年02月09日 09:19:26   作者:LorraineWen  
本文详细介绍了如何在Ubuntu系统上安装和配置Docker及其Compose,包括配置镜像加速源、安装Docker和DockerCompose、设置环境变量以及使用DockerCompose管理多容器应用

一、安装Docker

准备环境

#安装前先卸载操作系统默认安装的docker,
sudo apt-get remove docker docker-engine docker.io containerd runc

#安装必要支持
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release

配置Docker 软件包的下载源(apt源),是用来下载 Docker 软件本身(比如docker-cedocker-compose-plugin)的服务器地址,相当于 Docker 安装包的下载仓库,配置的目的是为了更快下载安装Docker软件包。

#Docker官方源
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

#阿里源
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg



#添加apt源:
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


echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null


sudo apt update
sudo apt-get update

安装Docker

sudo apt install docker-ce docker-ce-cli containerd.io
sudo docker version
sudo systemctl status docker

允许非root用户使用docker

sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker 
docker ps -a

更新~/.bashrc文件,在bashrc文件末尾加上这行代码

groupadd -f docker

如果你没有代理,那么需要配置Docker 镜像的加速源,目的是更快地拉取容器镜像创建/etc/docker/daemon.json文件,写入以下内容。

{
    "registry-mirrors": [
        "https://docker.m.daocloud.io"
  ]
}  

如果你有代理的话,那么就可以拉取Docker官方的镜像了,注意要把代理的局域网连接打开,让代理监听0.0.0.0:8888,允许局域网内的其他设备(包括 WSL2、 虚拟机)访问这个代理端口,需要注意的是,允许局域网连接和系统代理是两个独立的开关,关闭系统代理不代表关闭代理服务本身,系统代理是「客户端要不要用」,允许局域网是「服务端要不要对外提供」

# 1. 创建Docker服务的代理配置目录(若不存在)
sudo mkdir -p /etc/systemd/system/docker.service.d
# 2. 编辑代理配置文件
sudo vim /etc/systemd/system/docker.service.d/proxy.conf

# 3. 粘贴以下内容(端口号要替换你自己代理监听的端口号)
[Service]
Environment="HTTP_PROXY=http://host.docker.internal:7890"
Environment="HTTPS_PROXY=http://host.docker.internal:7890"
Environment="NO_PROXY=localhost,127.0.0.1,::1,host.docker.internal"

# 5. 重新加载配置并重启Docker
sudo systemctl daemon-reload
sudo systemctl restart docker

# 6. 验证代理是否生效
docker info | grep -i proxy
# 若输出 "HTTP Proxy: http://127.0.0.1:7890" 等内容,说明配置成功
curl https://registry-1.docker.io -v
#或者curl -x http://127.0.0.1:7890 https://registry-1.docker.io -v
#如果返回内容,说明代理有效

重启Docker

sudo systemctl restart docker

二、安装Docker Compose

上面安装的是Docker引擎,是容器的基础运行环境,Docker Compose 是基于 Docker 的多容器编排工具——Compose 必须依赖 Docker 引擎才能工作,是对 Docker 功能的补充。

Docker是容器技术的 基石,负责容器的创建、运行、管理,核心作用包括:

  • 打包应用:将应用及其依赖打包成标准化的 容器镜像;
  • 运行容器:基于镜像启动独立的容器实例(隔离的进程环境);
  • 管理容器:提供docker run/docker stop/docker ps等命令,管理单个容器的生命周期;
  • 构建镜像:通过docker build基于Dockerfile构建自定义镜像。

Docker Compose管理多容器应用的工具,核心作用是:

  • 定义多容器关系:通过一个docker-compose.yml文件,描述多个容器的配置;
  • 一键启停多容器:用docker compose up启动所有关联容器,用docker compose down停止并清理,替代手动逐个docker run

Ubuntu可以直接通过 Docker 官方插件安装,并且会自动匹配Docker引擎版本

# 更新源并安装Compose插件
sudo apt update && sudo apt install -y docker-compose-plugin
docker compose version

如果输出Docker Compose version v5.0.0之类的信息,那么就安装成功了。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 利用iptables来配置linux禁止所有端口登陆和开放指定端口的方法

    利用iptables来配置linux禁止所有端口登陆和开放指定端口的方法

    下面小编就为大家带来一篇利用iptables来配置linux禁止所有端口登陆和开放指定端口的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • Linux shuf命令实现随机打乱行顺序

    Linux shuf命令实现随机打乱行顺序

    shuf命令用于随机打乱行顺序,适用于随机抽样、生成随机数等,常用选项包括-n指定输出行数、-i生成范围内的整数、-e从参数中抽取数据,示例展示了如何乱序文件行、生成随机数字、从参数中抽取数据
    2025-11-11
  • Linux下忘记mysql密码该如何修改mysql密码

    Linux下忘记mysql密码该如何修改mysql密码

    这篇文章主要介绍了Linux下忘记mysql密码该如何修改mysql密码的相关资料,需要的朋友可以参考下
    2016-02-02
  • Linux下Apache安装/增加mod_rewrite模块的方法

    Linux下Apache安装/增加mod_rewrite模块的方法

    如果你的服务器apache还没有安装,那很简单,在编译apache时将mod_rewrite模块编译进去就可以。如果你的apache已经安装好了,现在只想编译出mod_rewrite.so模块,在apache中进行加载,下面介绍这个方法。
    2010-07-07
  • Linux 常用命令之Linux more命令使用方法

    Linux 常用命令之Linux more命令使用方法

    more 是我们最常用的工具之一,最常用的就是显示输出的内容,然后根据窗口的大小进行分页显示,然后还能提示文件的百分比。本文重点给大家介绍Linux more命令使用方法,感兴趣的朋友一起看看吧
    2018-10-10
  • Linux中获取系统运行时间的多种方法详解

    Linux中获取系统运行时间的多种方法详解

    在开发 、测试和运维中,获取系统运行时间是一个很重要的参数指标,本文为大家整理了一些常用的获取系统时间的方法,希望对大家有所帮助
    2025-03-03
  • Linux系统创建TCP连接流程介绍

    Linux系统创建TCP连接流程介绍

    大家好,本篇文章主要讲的是Linux系统创建TCP连接流程,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下哦,方便下次浏览
    2021-12-12
  • Centos下配置Redis开机启动脚本

    Centos下配置Redis开机启动脚本

    本篇文章主要介绍了redis之Centos下配置Redis开机启动脚本,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • Centos7.2 编译安装PHP7.0.2的步骤

    Centos7.2 编译安装PHP7.0.2的步骤

    本篇文章主要介绍了Centos7.2 编译安装PHP7.0.2的步骤。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • linux下安装nodejs及npm的方法

    linux下安装nodejs及npm的方法

    本篇文章主要介绍了linux下安装nodejs及npm的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06

最新评论