卸载旧版本

较旧版本的Docker被称为dockerdocker-engine。如果已安装这些,需要卸载以及相关的依赖项。

$ sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-selinux \docker-engine-selinux \docker-engine

安装Docker CE

您可以根据需要以不同方式安装Docker CE:

  • 大多数用户设置Docker的仓库并从中进行安装,以便于安装和升级任务。这是推荐的方法。
  • 有些用户下载RPM软件包并手动安装并完全手动管理升级。这在没有访问互联网的系统上安装Docker的情况下非常有用。
  • 在测试和开发环境中,一些用户选择使用自动便捷脚本来安装Docker。

使用仓库安装

在新主机上首次安装Docker CE之前,需要设置Docker仓库。之后,您可以从仓库安装和更新Docker

设置存储库

  1. 安装所需的包。

    yum-utils提供yum-config-manager实用程序,devicemapper存储驱动程序需要device-mapper-persistent-datalvm2

    $ sudo yum install -y yum-utils \device-mapper-persistent-data \lvm2
  2. 设置稳定存储库。

    使用以下命令设置稳定存储库

    $ sudo yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo

    可选:启用edgetest存储库。这些存储库包含在上面的docker.repo文件中,但默认情况下处于禁用状态。您可以将它们与稳定存储库一起启用。

    $ sudo yum-config-manager --enable docker-ce-edge
    $ sudo yum-config-manager --enable docker-ce-test

    通过使用--disable标志运行yum-config-manager命令来禁用edgetest仓库。要重新启用,使用--enable标志。以下命令禁用edge仓库。

    $ sudo yum-config-manager --disable docker-ce-edge

    注意:从Docker 17.06开始,稳定版本也会被推送到边缘并测试存储库。

安装DOCKER CE

  1. 安装最新版本

    安装最新版本Docker CE,或转到下一步安装特定版本:

    $ sudo yum install docker-ce

    如果提示接受GPG密钥,请确认指纹符合060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35,如果符合,则接受该指纹。

    运行以上命令安装后,Docker已安装但尚未启动。并已创建docker组,但未向该组添加任何用户。

  2. 安装特定版本

    • 要安装特定版本Docker CE,可列出repo中的可用版本,然后选择并安装

      $ yum list docker-ce --showduplicates | sort -r
      docker-ce.x86_64  18.06.1.ce-3.el7         docker-ce-stable
      docker-ce.x86_64  18.06.0.ce-3.el7         docker-ce-stable
      docker-ce.x86_64  18.03.1.ce-1.el7.centos  docker-ce-stable
      docker-ce.x86_64  18.03.0.ce-1.el7.centos  docker-ce-stable

      返回的列表取决于启用的仓库,并且特定于您的CentOS版本(在此示例中以.el7后缀表示CentOS7)。

    • 通过其完全限定的包名称安装特定版本

      包名称(docker-ce)加上版本字符串(第2列),中间用连字符( - )分隔,

      例如,docker-ce-18.06.1.ce

      $ sudo yum install docker-ce-18.06.1.ce

      运行以上命令安装后,Docker已安装但尚未启动。并已创建docker组,但未向该组添加任何用户。

启动测试Docker

  1. 启动Docker

    $ sudo systemctl start docker
  2. 通过运行hello-world映像验证是否正确安装了docker。

    $ sudo docker run hello-world

    此命令下载hello-world镜像并在容器中运行它。当容器运行时,它会打印消息并退出。

    如果网络下载失败,可能需要配置国内加速器,或者需要使用代理连接,可以通过下面的Linux安装后配置进行配置

升级DOCKER CE

要升级Docker CE,选择特定版本安装新版本或选择安装最新版本。

使用包安装

如果您无法使用Docker存储库来安装Docker,可以下载适用于您的发行版的.rpm文件并手动安装。每次要升级Docker时都需要下载新文件。

安装Docker CE

  • CentOS

    1. 转到https://download.docker.com/linux/centos/7/x86_64/stable/Packages/并下载要安装的Docker版本的.rpm文件。

      注意:要安装edgetest包,请将上述URL中的单词stable更改为edgetest

    2. 安装Docker CE,将下面的路径更改为Docker软件包的路径。

      Docker的`docker.rpm包在用户主目录下

      $ sudo yum install ~/docker.rpm

      Docker已安装但尚未启动。已创建docker组,但未向该组添加任何用户。

升级DOCKER CE

要升级Docker CE,请下载较新的软件包文件并重复安装过程,使用yum -y upgrade,而不是yum -y install,并指向新软件包。

卸载 Docker CE

卸载Docker包:

$ sudo yum remove docker-ce

主机上的图像,容器,卷或自定义配置文件不会自动删除。

要删除所有图像,容器和卷:

$ sudo rm -rf /var/lib/docker

二、Docker安装后配置

HTTP/HTTPS代理

如果您使用HTTPHTTPS代理服务器,例如在公司设置中,您需要在Docker systemd service文件中添加此配置。

  1. 为Docker服务创建一个 systemd多级目录:

    $ sudo mkdir -p /etc/systemd/system/docker.service.d
  2. 创建一个名为/etc/systemd/system/docker.service.d/http-proxy.conf的文件。添加HTTP_PROXY环境变量:

    [Service]
    Environment="HTTP_PROXY=http://username:password@0.0.0.1:80/"

    或者,如果您在HTTPS代理服务器后面,创建一个名为/etc/systemd/system/docker.service.d/https-proxy.conf的文件,添加HTTPS_PROXY环境变量:

    [Service]
    Environment="HTTPS_PROXY=https://username:password@0.0.0.1:80/"
  3. 如果您有自己的私有Docker仓库,而无需代理,您可以通过NO_PROXY环境变量指定它们:

    [Service]
    Environment="HTTP_PROXY=http://username:password@0.0.0.1:80/" "NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com"

    或者, 如果您在 HTTPS 代理服务器后面添加:

    [Service]
    Environment="HTTPS_PROXY=https://username:password@0.0.0.1:80/" "NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com"
  4. 刷新更改:

    $ sudo systemctl daemon-reload
  5. 重启Docker:

    $ sudo systemctl restart docker
  6. 验证配置已经加载:

    $ systemctl show --property=Environment docker
    Environment=HTTP_PROXY=http://username:password@0.0.0.1:80/

    或者:

    $ systemctl show --property=Environment docker
    Environment=HTTPS_PROXY=https://username:password@0.0.0.1:80/

以非root身份管理Docker

Docker daemon绑定到Unix socket而不是TCP端口。默认情况下,Unix socket由用户root拥有,而其他用户只能使用sudo访问它。 Docker daemon始终以root用户身份运行。

如果您不想在docker命令前加上sudo,可以创建一个名为dockerUnix组并向其添加用户。当Docke启动时,它会创建一个可由docker组成员访问的Unix socket

警告

docker组授予与root用户等效的权限。
有关这将如何影响系统安全性的详细信息,请参阅Docker Daemon Attack Surface

要创建docker组并添加您的用户:

  1. 创建docker组

    $ sudo groupadd docker
  2. 将您的用户添加到docker组

    $ sudo usermod -aG docker $USER
  3. 注销并重新登录,以便您的组成员身份生效。

  4. 验证您是否可以在没有sudo的情况下运行docker命令.

    $ docker run hello-world

    如果容器运行,它会打印消息并退出,说明设置生效

    如果在将用户添加到docker组之前最初使用sudo运行Docker CLI命令,则可能会看到以下错误,这表示由于sudo命令而创建的〜/.docker/目录的权限不正确。

    WARNING: Error loading config file: /home/user/.docker/config.json -
    stat /home/user/.docker/config.json: permission denied

    要解决此问题,请删除〜/.docker/目录(它会自动重新创建,但任何自定义设置都将丢失),或使用以下命令更改其所有权和权限:

    $ sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
    $ sudo chmod g+rwx "$HOME/.docker" -R

镜像加速

由于Docker Hub的服务器在国外,镜像的下载速度比较慢,可以使用国内提供的免费镜像服务,国内免费镜像服务有阿里云和DaoCloud等有提供:

  • 阿里云

    1. 注册登录后,进入控制台,在产品与服务中搜索容器镜像服务进入,在镜像加速器有阿里云提供给个人的加速器地址
    2. 按照操作文档选择对应的服务器类型操作,
  • DaoCloud

    1. 注册登录后,点击加速器图标

    2. 进入页面后,复制内容到Shell终端运行

随系统启动而启动

  • systemd

    开启随系统启动

    $ sudo systemctl enable docker

    关闭随系统启动,改用disable。

    $ sudo systemctl disable docker

    查看状态

    $ sudo systemctl is-enabled docker

转载于:https://www.cnblogs.com/zenghi-home/p/10070980.html

一、安装Docker CE相关推荐

  1. CentOS 安装docker.ce报错提示containerd.io >= 1.2.2-3问题

    centos安装docker.ce遇到报错,提示如下 # yum install -y docker-ce Last metadata expiration check: 0:01:49 ago on ...

  2. Docker入门之 - 如何安装Docker CE

    本文将介绍如何在Ubantu.CentOS.Windows.Mac上安装Docker Docker 提供了两个版本:社区版 (CE) 和企业版 (EE). Docker 社区版 (CE) 是开发人员和 ...

  3. Ubuntu 17.04 x64 安装 Docker CE 初窥 Dockerfile 部署 Nginx

    Docker 是个划时代的开源项目,它彻底释放了计算虚拟化的威力,极大提高了应用的运行效率,降低了云计算资源供应的成本!使用 Docker,可以让应用的部署.测试和分发都变得前所未有的高效和轻松! 无 ...

  4. 008 centos7安装docker ce

    2019独角兽企业重金招聘Python工程师标准>>> 1.安装 docker ce 1.1 说明 Docker 的早期版本称为 docker 或 docker-engine, 从2 ...

  5. ubuntu 安装docker_Docker: 教程04 - (初始化安装之在 Ubuntu 安装Docker CE)

    创建 Ubuntu 运行环境 首先我们需要创建一个 Ubuntu 运行环境,在云环境中,我们创建了一个版本为 "Ubuntu 18.04 Bionic Beaver LTS" ,大 ...

  6. debian上安装docker ce

    在Debian9上安装Docker CE 使用从包中安装的方式 Docker是一个开源的容器引擎,它有助于更快地交付产品. Docker可将应用程序和基础设施层隔离,并且将基础设施当作程序一样进行管理 ...

  7. [笔记] Ubuntu 18.04安装Docker CE及nvidia-docker2流程

    这篇已经Out了,以[笔记] Ubuntu 18.04安装Docker CE及NVIDIA Container Toolkit流程为准. Docker的好处之一,就是在Container里面可以随意瞎 ...

  8. 树莓派安装 Docker CE

    树莓派卡片电脑安装 Docker CE 警告:切勿在没有配置 Docker APT 源的情况下直接使用 apt 命令安装 Docker. 本教程为转载,自己看标题! 系统要求 Docker CE 不仅 ...

  9. Linux安装Docker CE

    系统:CentOS Linux release 7.2 (Core) 3.10.0-693.11.6.el7.x86_64 SELinux:关闭 参考链接:https://docs.docker.co ...

最新文章

  1. ubuntu 无法进入startx_Ubuntu无法进入图形化界面(报错/dev/sda1:clean的解决)
  2. 学习前做过规划,现在却连入门都不算!那么究竟如何学习Python呢
  3. 类视图ListView和DetailView比较
  4. linux 查看空间(内存、磁盘、文件目录、分区)的几个命令
  5. java 字符串缓冲区_详解Java中字符串缓冲区StringBuffer类的使用
  6. 深度技术win11 32位稳定版系统v2021.08
  7. 计算机word实训项目任务说明,计算机项目实训报告怎么写啊
  8. 余额宝宣布开放 中欧基金首批入驻
  9. 图像取证:由色差发现数字篡改痕迹
  10. Julia(编程语言)
  11. 2018最新手机号码正则表达式
  12. Android开发丶底部导航栏
  13. oracle赋权directory,ORACLE DIRECTORY目录管理步骤
  14. flask爱家租房项目开发(十)
  15. Worthington毒液中核酸外切酶的特征及相关文献
  16. matlab画sinc函数及其有意思的性质
  17. shell的正向和反向
  18. 【软件测试】8年资深测试解析,软件测试行业情报,风风雨雨......
  19. Linux为什么最多能分4个四个主分区
  20. 磨皮美白搞笑图片处理

热门文章

  1. 【BZOJ1572】【usaco 2009 open】工作安排job
  2. FCKeditor所有版本任意文件上传缺陷
  3. Win7备份的取消与磁盘空间恢复
  4. Windows CMD控制台默认编码设置为UTF-8的方法介绍
  5. 工业机器人行业研究报告
  6. Discuz验证码识别(编码篇)-写给程序员的TensorFlow教程
  7. string 与char *的区别
  8. linux删除旧网卡,如何删除旧网卡驱动
  9. js变量后面加问号是什么_js没那么简单(1)-- 执行上下文
  10. 013_序列内建函数