Oracle Ubuntu 18.04 安装 Docker

使用便利脚本安装

Docker 在get.docker.com 上提供了一个方便的脚本,可以快速且非交互式地将 Docker 安装到开发环境中。不建议将便捷脚本用于生产环境,但可以用作示例来创建适合您需求的配置脚本。另请参阅使用存储库安装 步骤以了解使用软件包存储库进行安装的安装步骤。该脚本的源代码是开源的,可以docker-install在 GitHub 上的 存储库中找到

在本地运行之前,请务必检查从 Internet 下载的脚本。在安装之前,让自己熟悉便利脚本的潜在风险和限制:

  • 脚本需要rootsudo特权才能运行。
  • 该脚本会尝试检测您的 Linux 发行版和版本并为您配置包管理系统,并且不允许您自定义大多数安装参数。
  • 该脚本无需确认即可安装依赖项和建议。这可能会安装大量软件包,具体取决于主机的当前配置。
  • 默认情况下,该脚本会安装 Docker、containerd 和 runc 的最新稳定版本。使用此脚本配置机器时,可能会导致 Docker 的主要版本意外升级。在部署到生产系统之前,始终在测试环境中测试(主要)升级。
  • 该脚本并非旨在升级现有的 Docker 安装。使用脚本更新现有安装时,依赖项可能不会更新到预期版本,从而导致使用过时的版本。

提示:运行前预览脚本步骤

您可以运行带有DRY_RUN=1选项的脚本以了解脚本在安装过程中将执行的步骤:

$ curl -fsSL https://get.docker.com -o get-docker.sh
$ DRY_RUN=1 sh ./get-docker.sh

此示例从get.docker.com下载脚本 并运行它以在 Linux 上安装 Docker 的最新稳定版本:

$ curl -fsSL https://get.docker.com -o get-docker.sh       #这个是下载安装的脚本
$ sudo sh get-docker.sh                                    #这个是开始安装docker命令
Executing docker install script, commit: 7cae5f8b0decc17d6571f9f52eb840fbc13b2737
<...>

还可以更换一下docker软件源,这边提供两个软件源,一个是阿里云的,一个是亚马逊中国,可以自行选择一个!

$ sudo sh get-docker.sh --mirror Aliyun

$ sudo sh get-docker.sh --mirror AzureChinaCloud

安装了 Docker。该docker服务在基于 Debian 的发行版上自动启动。在RPM基于发行版的发行版上,例如 CentOS、Fedora、RHEL 或 SLES,您需要使用适当的systemctlorservice命令手动启动它。如消息所示,默认情况下,非 root 用户无法运行 Docker 命令。

以非特权用户身份使用 Docker,还是以无根模式安装?

安装脚本需要root或有sudo权限安装和使用 Docker。如果要授予非 root 用户访问 Docker 的权限,请参阅 Linux 的安装后步骤。Docker 也可以在没有root特权的情况下安装,或配置为在无根模式下运行。有关在无根模式下运行 Docker 的说明,请参阅以 非 root 用户身份运行 Docker 守护程序(无根模式)

执行代码:

root@oracle-u-a1:~# curl -fsSL https://get.docker.com -o get-docker.sh
root@oracle-u-a1:~# sudo sh get-docker.sh
# Executing docker install script, commit: 93d2499759296ac1f9c510605fef85052a2c32be
+ sh -c apt-get update -qq >/dev/null
+ sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-https ca-certificates curl >/dev/null
+ sh -c curl -fsSL "https://download.docker.com/linux/ubuntu/gpg" | gpg --dearmor --yes -o /usr/share/keyrings/docker-archive-keyring.gpg
+ sh -c echo "deb [arch=arm64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu bionic stable" > /etc/apt/sources.list.d/docker.list
+ sh -c apt-get update -qq >/dev/null
+ sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq --no-install-recommends  docker-ce-cli docker-ce >/dev/null
+ version_gte 20.10
+ [ -z  ]
+ return 0
+ sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq docker-ce-rootless-extras >/dev/null
+ sh -c docker version
Client: Docker Engine - Community
 Version:           20.10.11
 API version:       1.41
 Go version:        go1.16.9
 Git commit:        dea9396
 Built:             Thu Nov 18 00:35:52 2021
 OS/Arch:           linux/arm64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.11
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.9
  Git commit:       847da18
  Built:            Thu Nov 18 00:34:25 2021
  OS/Arch:          linux/arm64
  Experimental:     false
 containerd:
  Version:          1.4.12
  GitCommit:        7b11cfaabd73bb80907dd23182b9347b4245eb5d
 runc:
  Version:          1.0.2
  GitCommit:        v1.0.2-0-g52b36a2
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

================================================================================

To run Docker as a non-privileged user, consider setting up the
Docker daemon in rootless mode for your user:

    dockerd-rootless-setuptool.sh install

Visit https://docs.docker.com/go/rootless/ to learn about rootless mode.


To run the Docker daemon as a fully privileged service, but granting non-root
users access, refer to https://docs.docker.com/go/daemon-access/

WARNING: Access to the remote API on a privileged Docker daemon is equivalent
         to root access on the host. Refer to the 'Docker daemon attack surface'
         documentation for details: https://docs.docker.com/go/attack-surface/

================================================================================

发表评论

您的电子邮箱地址不会被公开。