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. 使用flume将数据sink到HBase

    ===========>先创建Hbase表和列族<================案例1:源数据一行对应Hbase的一列存储(hbase-1.12没有问题)================ ...

  2. unity中Shader实现地形中根据实际高度绘制等高线,剖切功能,颜色渐变等功能

    问题背景 在做地形模块时,需要根据实际地形高度画出世界相应的等高线,以及根据高度做颜色渐变,以及剖切功能. 解决方法 通过像素点在世界坐标系下的真实高度值来判断计算绘制等高线,剖切功能以及颜色渐变均有 ...

  3. Windows安装OnlyOfiice教程

    1.OnlyOffice介绍 OnlyOffice 是一个在线创建.编辑和协作文档的服务. 2.Docker介绍 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移 ...

  4. Express手稿

  5. 高程读后感(四)— 关于BOM本人容易忽略的知识点总结

    目录 window对象 window对象上属性及方法 超时调用setTimeout和间歇调用setInterval BOM location对象及其位置操作 history对象 window对象 wi ...

  6. [oeasy]python0041_teletype历史_博多码_shift_capslock_字符数字切换_gear

    teletypewriter 历史 回忆上次内容 上次见到了一个真的机械打字机 感受到了蒸汽朋克的时代背景 上上次区分了一些概念 terminal终端,电脑连线最终的端点 TeleTYpewriter ...

  7. java引入es使用

    引入依赖 <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>el ...

  8. FindBugs质量管理

    1. FindBugs是什么 FindBugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题.有了静态分析工具,就可以在不实际运行程序的情况对软件进行 ...

  9. RHCA rh442 001 调优本质 调优方法 监控

    调优是一种感知 调优按照成本和性能 一.架构及调优 二.代码及调优 三.配置类调优 从调优效果和成本成正比 设计电商,日访问百万级,未来可能千万级 数据库 系统 服务器多少台 缓存 appache,n ...

  10. 【Windows】更改Win10字体和Cmd字体

    教程参考: https://www.windowszj.com/news/20837.html Win + R 打开运行窗口 输入 regedit 打开注册表编辑窗口 位置地址: 计算机\HKEY_L ...