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之类的信息,那么就安装成功了。

总结

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

相关文章

  • grub命令行启动系统简明教程

    grub命令行启动系统简明教程

    这篇文章主要介绍了grub命令行启动系统的简明教程,以及GRUB启动命令详解,需要的朋友可以参考下
    2014-03-03
  • CentOS 6.6服务器编译安装lnmp(Nginx1.6.2+MySQL5.6.21+PHP5.6.3)

    CentOS 6.6服务器编译安装lnmp(Nginx1.6.2+MySQL5.6.21+PHP5.6.3)

    这篇文章主要介绍了CentOS 6.6服务器编译安装lnmp(Nginx1.6.2+MySQL5.6.21+PHP5.6.3),需要的朋友可以参考下
    2016-10-10
  • Apache中伪静态Rewrite的使用方法和URL重写规则表达式讲解

    Apache中伪静态Rewrite的使用方法和URL重写规则表达式讲解

    apache中的mod_rewrite模块提供了一个基于正则表达式分析器的重写引擎来实时重写URL请求,主要的功能就是实现URL的跳转,它的正则表达式是基于Perl语言。可基于服务器级的(httpd.conf)和目录级的(.htaccess)两种方式,允许通过它来改变Apache Web服务器的配置。
    2022-11-11
  • linux将源码驱动文件编译并生效方式

    linux将源码驱动文件编译并生效方式

    文章介绍了如何在KylinV4系统上编译和安装网卡驱动,并提供了一个详细的步骤指南,包括编译内核、编译模块、安装内核和更新引导等,同时,也说明了如何将本地编译好的驱动文件生效,并提供了一些测试效果图和总结
    2026-01-01
  • Linux中删除大文件后空间未释放的可能原因及解决方案

    Linux中删除大文件后空间未释放的可能原因及解决方案

    Linux删除大文件后磁盘空间未释放可能因进程占用、文件系统缓存或延迟机制导致,需检查占用进程,重启或清空文件,强制同步或重启系统,建议删除前确认进程状态,下面小编给大家详细说说
    2025-08-08
  • Linux之权限管理解读

    Linux之权限管理解读

    本文介绍了Linux下的超级用户和普通用户以及它们的命令提示符,接着,详细解释了权限的概念、访问者的分类、文件类型与访问权限以及文件权限值的表示方法,最后,文章讨论了文件权限的设置方法,包括chmod、chown和chgrp命令,并列举了一些常见权限问题
    2025-03-03
  • Centos7.4环境安装lamp-php7.0教程

    Centos7.4环境安装lamp-php7.0教程

    这篇文章主要介绍了Centos7.4环境安装lamp-php7.0,较为详细的分析了CentOS7.4环境下Apache、mysql、php7.0及phpmyadmin等安装命令与操作注意事项,需要的朋友可以参考下
    2019-03-03
  • linux下shell脚本启动jar包实现过程

    linux下shell脚本启动jar包实现过程

    确保APP_NAME和LOG_FILE位于目录内,首次启动前需手动创建log文件夹,否则报错,此为个人经验,供参考,欢迎支持脚本之家
    2025-07-07
  • Windows10安装Apache2.4的方法步骤

    Windows10安装Apache2.4的方法步骤

    本文主要介绍了Windows10安装Apache2.4的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧<BR>
    2022-06-06
  • Linux系统的文件传输方法

    Linux系统的文件传输方法

    这篇文章主要介绍了Linux系统的文件传输方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-07-07

最新评论