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

ubuntu 安装 docker 记录

本文假设系统为 Ubuntu,从 16.04 到 24.04,且通过 APT 命令安装。理论上也其他 Debian 系的操作系统。
WSL 也一样。

感觉 Docker 官方在强推 Docker Desktop,搜索 Docker 安装文档,一不小心就被导航到了 Docker Desktop 的安装页面。如果只是想安装 Docker-CE Server,文档在 https://docs.docker.com/engine/install/#server。

官方文档给出了几种安装方式,我最喜欢的是通过 APT 仓库安装,可以像管理系统上的其他软件包一样用 apt installapt upgradeapt remove 进行管理。但直接用 Docker 官方的 APT 仓库可能会下载很慢,幸好国内有镜像源。

安装

step 0. 安装设置仓库必须的工具

这些工具一般系统上都有,但还是确认一下比较好。

Ubuntu 16.04

sudo apt-get update && sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common

Ubuntu 18.04 及以上

sudo apt update && sudo apt install -y ca-certificates curl gnupg lsb-release

20.04以上快捷安装 sudo apt install docker.io 也是可行的

step 1. 添加阿里的 Docker 镜像仓库证书

Ubuntu 20.04 及以下

curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

Ubuntu 22.04、24.04

curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/aliyun-docker.gpg
如果 Ubuntu 22.04 还用  apt-key add 的方式添加证书在同步仓库信息时会有以下 warning:
Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.

step 2. 添加仓库

Ubuntu 16.04

sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

Ubuntu 18.04 、20.04

sudo apt-add-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

Ubuntu 22.04、24.04

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

step 3. 安装

安装最新版的 docker-ce。

Ubuntu 16.04

sudo apt-get update
sudo apt-get install -y docker-ce

Ubuntu 18.04 及以上

sudo apt update
sudo apt install -y docker-ce

step 4. 启动

未开启 systemd 的 WSL 发行版

在 WSL 上,如果未开启 systemd,docker 不会自启动,每次都需要手动执行下面的命令。

sudo service docker start

其他系统

安装完就自己启动了,不需要任何操作。

step 5. 验证

sudo docker info

应该能看到当前安装的 Docker 信息。

基本配置

将当前用户添加到 docker 用户组

每次都用 sudo 执行 docker 命令也太麻烦了,可以将当前用户添加到 docker 用户组,以后就不需要 sudo 了。

sudo usermod -aG docker $USER
newgrp docker

如果报错说不存在 docker group,就先用下面的命令创建 docker group,然后再执行上面添加用户到组的命令。

sudo groupadd docker

配置 ustc 的 docker hub 镜像

国内的 docker hub 镜像都下架了。本段失效

执行 docker image pull 时默认会去 https://hub.docker.com/ 拖镜像,但网速可能会比较慢。可以配置国内的第三方 registry,他们会缓存用户拖过的镜像,下载会快很多。

在 /etc/docker/daemon.json 加入如下配置。

{
        "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"]
}

ustc 的这个 registry 是我知道的唯一不需要申请账户的。如果你有其他 registry,也可以添加到上面的列表中。

不管在这个文件中写入了什么配置,都不会自动生效,一般都得重启。

Ubuntu 18.04 及以上

一般 ubuntu 系统都是使用 systemd 启动 docker,要执行下面的指令才能让上面的配置生效:
 

 sudo systemctl daemon-reload

 sudo systemctl restart docker

Ubuntu 16.04 或未开启 systemd 的 WSL

重启 docker 就行。

sudo service docker restart

20241125 目前可用docker镜像源


#镜像地址
{
    "registry-mirrors": [
        "https://ustc-edu-cn.mirror.aliyuncs.com/",
        "https://ccr.ccs.tencentyun.com/",
        "https://docker.m.daocloud.io/"
    ]
}

#修改后要重启

参考

  • Install Docker Engine on Ubuntu | Docker Documentation
  • docker-ce镜像_docker-ce下载地址_docker-ce安装教程-阿里巴巴开源镜像站 (aliyun.com)

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

相关文章:

  • PHP 8.4 重磅发布了
  • MySQL原理简介—10.SQL语句和执行计划
  • torch.set_printoptions
  • VSCode 新建 Python 包/模块 Pylance 无法解析
  • 部署实战(二)--修改jar中的文件并重新打包成jar文件
  • 【C++笔记】数据结构进阶之二叉搜索树(BSTree)
  • MySQL:基础操作(增删查改)
  • 从源码到平台:基于第三方视频美颜SDK开发实时直播美颜系统
  • SpringBoot(9)-Dubbo+Zookeeper
  • 使用LLaMA-Factory微调时的问题与解决方案记录
  • Altium Designer学习笔记 16-20 PCB封装调用_3D封装_网表导入常见问题
  • 详解Qt之QtMath Qt数学类
  • seacms 远程命令执行 (CNVD-2020-22721)
  • 将django+vue项目发布部署到服务器
  • SpringBoot开发——Maven多模块工程最佳实践及详细示例
  • 图像处理学习笔记-20241118
  • 11.22 深度学习-pytorch自动微分
  • Android Configuration相关
  • 戴尔 AI Factory 上的 Agentic RAG 搭载 NVIDIA 和 Elasticsearch 向量数据库
  • 基于SpringBoot实现的民宿管理系统(代码+论文)
  • 11超全局变量php
  • 10、PyTorch autograd使用教程
  • redis的List底层数据结构 分别什么时候使用双向链表(Doubly Linked List)和压缩列表(ZipList)
  • Git(一)基本使用
  • 如何使用docker启动一个gitlab
  • 僵尸毁灭工程 服务搭建 联机教程 无需公网IP、服务器