Docker Engine (也称作 Docker CE) 是 Docker 官方的社区版包,它不包含在 Ubuntu 默认的存储库中。因此,你无法直接使用 apt install docker-ce 命令安装 docker-ce。你需要先添加 Docker 的官方 GPG 秘钥和存储库才能使用这个命令安装 docker-ce

安装 Docker Engine

你有两种方式安装 Docker Engine,一种是使用官方的简易安装脚本,另一种是手动配置 APT 源并使用 APT 安装。

使用简易脚本安装

Docker 官方为我们编写了一个脚本,可以快速为我们完成上面的步骤。

# 下载安装脚本
curl -fsSL https://get.docker.com -o install-docker.sh # 执行安装脚本
sudo sh install-docker.sh

可以在执行安装脚本时添加 --mirror Aliyun 选项以使用阿里镜像源加快安装速度

使用 APT 安装

  1. 如果你安装过非官方版本的 Docker,则需要先清理这些包:

    for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt remove $pkg; done
  2. 将 Docker 软件源添加到 APT 源列表:

    # 添加 Docker 软件源的 GPG 公钥:
    sudo apt install -y ca-certificates curl # 安装 curl 及 curl 用到的 CA 证书
    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 "$VERSION_CODENAME") stable" | \
    sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # 更新 APT 索引
    sudo apt update
  3. 安装 Docker Engine:

    sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

    至此,Docker Engine 就安装完成了。

参考:

卸载 Docker Engine

卸载 Docker Engine:

sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

删除残留镜像、容器、卷,以及自定义配置文件:

sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

不使用 sudo 运行 docker

目前为止,你需要使用 sudo 来运行 docker 命令,就像这样:

sudo docker run hello-world

原因是 Docker 守护程序绑定到 Unix 套接字,而不是 TCP 端口。默认情况下,拥有 Unix 套接字的是 root 用户,其他用户只能使用 sudo 访问它。Docker 守护程序始终以 root 用户身份运行。

如果你不想每次在命令前加上 sudo,可以使用一下两种方法:

将用户添加到 docker 组

如果不想在 docker 命令前加上 sudo,请创建一个名为 docker 的 Unix 组,并将用户添加到其中。当 Docker 守护程序启动时,它会创建一个 Unix 套接字,只有 docker 组的成员可以访问。

️ 注意:该组为用户授予 root 级别权限。而这可能会影响系统安全

如果你希望让 Docker 在非 root 模式下运行,请参考下节 rootless mode

  1. 创建 docker 用户组:

    sudo groupadd docker

    你的电脑上可能已经存在 docker 组,此时命令可能报错。你可以忽略这个错误。

  2. 将你的用户添加到 docker 组中:

    sudo usermod -aG docker $USER
  3. 注销并重新登录 Linux

  4. 测试配置是否成功

    docker run hello-world

    命令的输出应该是 Hello from Docker! 以及一大行字符串。

参考:Linux post-installation steps for Docker Engine | Docker Docs

Rootless Mode(不推荐)

️:Rootless Mode 由于缺少 root 权限,可能有些高级功能会受到限制。

目前已知的问题有:如果要运行的容器需要暴露 80 端口等特权端口,在没有 root 权限的情况下会失败。

安装

安装依赖:

sudo apt install -y uidmap

安装 rootless mode

dockerd-rootless-setuptool.sh install

如果提示 dockerd-rootless-setuptool.sh 不存在,则可能需要手动安装 docker-ce-rootless-extras 包:

sudo apt install -y docker-ce-rootless-extras

参考:Run the Docker daemon as a non-root user (Rootless mode) | Docker Docs

卸载

删除 Docker 守护程序的 systemd 服务:

dockerd-rootless-setuptool.sh uninstall

删除数据目录:

rootlesskit rm -rf ~/.local/share/docker

Ubuntu 安装 Docker Engine的更多相关文章

  1. 在Ubuntu上安装Docker Engine

    在Ubuntu上安装Docker Engine 这篇文章是介绍如何在在Ubuntu上安装Docker Engine,就是Google翻译官方文档的版本,英语好的直接官方原文.原文 要在Ubuntu上开 ...

  2. Ubuntu安装docker(摘自官网,自用)

    在 Ubuntu 上安装 Docker 引擎(按照标红顺序执行命令) 预计阅读时间:11分钟 适用于 Linux 的 Docker 桌面 Docker Desktop 可帮助您在 Mac 和 Wind ...

  3. Centos7安装Docker Engine

    一.先决条件 首选需要一个64位操作系统和3.10或者更版本的内核. 查看当前内核版本: $ uname -r -.el7.x86_64 二.yum安装Docker Engine 安装Docker E ...

  4. ubuntu安装docker以及基本用法

    ubuntu安装docker以及基本用法 一.安装 安装前先更新apt-get源到最新版本 apt-get update 使用ubuntu自带的docker安装包安装docker apt-get in ...

  5. Ubuntu安装docker笔记

    前言   根据参考文档简单记录Ubuntu系统安装docker的步骤 系统版本 panzi@ubuntu:~$ cat /etc/issue Ubuntu 16.04.5 LTS \n \l 移除旧版 ...

  6. 总结关于Ubuntu 安装 Docker 配置相关问题及解决方法

    总结关于Ubuntu 安装 Docker 配置相关问题及解决方法 Tomcat 示例 软件镜像(xx安装程序)----运行镜像----产生一个容器(正在运行的软件,运行的xx): 步骤: 1.搜索镜像 ...

  7. ubuntu 安装 docker 并配置镜像加速(使用 apt-get 进行安装)

    ubuntu 安装docker CentOS docker安装 https://blog.csdn.net/weixin_44953227/article/details/108597310 你需要这 ...

  8. Docker笔记--ubuntu安装docker

    Docker笔记--ubuntu安装docker 1.更换国内软件源,推荐中国科技大学的源,稳定速度快(可选) sudo cp /etc/apt/sources.list /etc/apt/sourc ...

  9. Ubuntu安装Docker步骤

    环境:Ubuntu Trusty 14.04 (LTS) 前提条件: Docker requires a 64-bit installation regardless of your Ubuntu v ...

  10. Ubuntu安装Docker 适合Ubuntu17.04版本

    Docker介绍 Docker是一个开源的容器引擎,它有助于更快地交付产品.Docker可将应用程序和基础设施层隔离,并且将基础设施当作程序一样进行管理.使用Docker,可以更快地打包,测试以及部署 ...

随机推荐

  1. 《DNK210使用指南 -CanMV版 V1.0》第二章 Kendryte K210简介

    第二章 Kendryte K210简介 1)实验平台:正点原子DNK210开发板 2)章节摘自[正点原子]DNK210使用指南 - CanMV版 V1.0 3)购买链接:https://detail. ...

  2. 3562-Linux系统使用手册

  3. CF1137C 题解

    考虑把每个点进行拆成 \(d\) 个点表示星期几走到这个点,那么原图上的边 \((u,v)\) 就被拆成\((pos_{u,i},pos_{v,i+1})\) 表示星期的变化. 然后考虑进行缩点,在一 ...

  4. 【韦东山】嵌入式全系统:单片机-linux-Android对硬件操作的不同侧重点

    我是韦东山,一直从事嵌入式Linux培训,最近打算连载一系列文章. 正在录制全新的嵌入式Linux视频,使用新路线,不再从裸机/uboot开始,效率更高. 对应文档也会写成书<<嵌入式Li ...

  5. 设置Docker容器里的时间

    启动容器时,添加环境变量 docer run -e TZ=Asia/Shanghai --rm myalpine date -e TZ=Asia/Shanghai  

  6. [oeasy]python0135_命名惯用法_name_convention

    命名惯用法 回忆上次内容 上次 了解了isidentifier的细节 关于 关键字 关于 下划线   如何查询 变量所指向的地址? id   如何查询 已有的各种变量? locals   如果 用一个 ...

  7. [oeasy]python0094_视频游戏_双人网球_pong_atari_mos_6502_雅达利_米洛华

    编码进化 回忆上次内容 上次 我们回顾了 微软之前的 比尔盖茨和保罗艾伦 mits 迎来的 是帮手 还是隐患? intel-8080 遇到了 mos-6502 底层硬件 驱动 游戏行业进化 不光是扑克 ...

  8. 企业级环境部署:在 Linux 服务器上如何搭建和部署 Python 环境?

    在大部分企业里,自动化测试框架落地都肯定会集成到Jenkins服务器上做持续集成测试,自动构建以及发送结果到邮箱,实现真正的无人值守测试. 不过Jenkins搭建一般都会部署在公司的服务器上,不会在私 ...

  9. Linux服务器PBS任务队列作业提交脚本的使用方法

      本文介绍在Linux服务器中,通过PBS(Portable Batch System)作业管理系统脚本的方式,提交任务到服务器队列,并执行任务的方法.   最近,需要在学校公用的超算中执行代码任务 ...

  10. Jmeter计数器

    计数器(Counter)配置起点.最大值和增量,计数器将从开始循环到最大值,然后从头开始,继续这样直到测试结束 1.计数器 是可以根据线程计数的.组件路径[线程组->配置元件->计数器] ...