docker学习-1CentOS安装Docker CE

1 moby、docker-ce与docker-ee

docker原是一个开源项目,主要由docker公司维护,2017年年初,docker公司将原先的docker项目改名为moby,并创建了docker-ce和docker-ee。

三者关系与区别:

moby是继承了原先docker的项目,是社区维护的的开源项目;

docker-ce是docker公司维护的开源项目,是一个基于moby项目的免费的容器产品;

docker-ee是docker公司维护的闭源产品,是docker公司的商业产品。

2 操作系统要求

  1. CentOS 7(CentOS 6安装会有依赖缺失,安装失败)
  2. 必须启用centos-extras存储库。 默认情况下,此存储库已启用,但如果已将其禁用,则需要重新启用它
  3. 建议使用overlay2存储驱动程序

3 卸载旧版本

较旧版本的Docker被称为docker或docker-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

如果yum报告没有安装这些软件包,那就没关系。

执行该命令只会移除旧版本的docker,保留/var/lib/docker 目录下的内容,包括旧版本docker所创建的镜像、容器、卷等数据。

4 如何选择安装docker方式

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

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

4.1 使用存储库(yum)安装

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

4.1.1 设置yum源

1 安装所需的包。 yum-utils提供yum-config-manager工具,devicemapper存储驱动程序需要device-mapper-persistent-data和lvm2。

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

出现问题:

>     --add-repo \

>     https://download.docker.com/linux/centos/docker-ce.repo

Loaded plugins: fastestmirror

adding repo from: https://download.docker.com/linux/centos/docker-ce.repo

grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo

https://download.docker.com/linux/centos/docker-ce.repo: [Errno 14] problem making ssl connection

Trying other mirror.

Could not fetch/save url https://download.docker.com/linux/centos/docker-ce.repo to file /etc/yum.repos.d/docker-ce.repo: [Errno 14] problem making ssl connection

这是因为国内访问不到docker官方镜像的缘故 

通过阿里源进行设置

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

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

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

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

  可以通过使用--disable标志运行yum-config-manager命令来禁用边缘或测试存储库。 要重新启用它,请使用--enable标志。 以下命令禁用边缘存储库。

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

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

4.1.2  安装

1 安装最新docker-ce

sudo yum install docker-ce

2 生产系统中,可能需要安装指定版本的docker,而不是最新版本。执行如下命令,即可列出可用的docker版本

yum list docker-ce --showduplicates | sort -r

sort -r 命令表示对结果由高到低排序。

结果:第一列是软件包名称,第二列是版本字符串,第三列是仓库名称,表示软件包存储的位置。

Loading mirror speeds from cached hostfile

Loaded plugins: fastestmirror

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

docker-ce.x86_64            17.12.1.ce-1.el7.centos             docker-ce-stable

docker-ce.x86_64            17.12.0.ce-1.el7.centos             docker-ce-stable

docker-ce.x86_64            17.09.1.ce-1.el7.centos             docker-ce-stable

docker-ce.x86_64            17.09.0.ce-1.el7.centos             docker-ce-stable

docker-ce.x86_64            17.06.2.ce-1.el7.centos             docker-ce-stable

docker-ce.x86_64            17.06.1.ce-1.el7.centos             docker-ce-stable

docker-ce.x86_64            17.06.0.ce-1.el7.centos             docker-ce-stable

docker-ce.x86_64            17.03.2.ce-1.el7.centos             docker-ce-stable

docker-ce.x86_64            17.03.1.ce-1.el7.centos             docker-ce-stable

docker-ce.x86_64            17.03.0.ce-1.el7.centos             docker-ce-stable

Available Packages

用以下命令可以按照指定版本的docker

sudo yum install docker-ce-

例如:

sudo yum install docker-ce-18.06.0.ce -y

注意:如果用的是CentOS 6 会报以下error

Error: Package: docker-ce-18.06.0.ce-3.el7.x86_64 (docker-ce-stable)

           Requires: libseccomp.so.2()(64bit)

Error: Package: docker-ce-18.06.0.ce-3.el7.x86_64 (docker-ce-stable)

           Requires: libsystemd.so.0()(64bit)

Error: Package: docker-ce-18.06.0.ce-3.el7.x86_64 (docker-ce-stable)

           Requires: libsystemd.so.0(LIBSYSTEMD_209)(64bit)

Error: Package: docker-ce-18.06.0.ce-3.el7.x86_64 (docker-ce-stable)

           Requires: systemd-units

Error: Package: docker-ce-18.06.0.ce-3.el7.x86_64 (docker-ce-stable)

           Requires: libc.so.6(GLIBC_2.17)(64bit)

Error: Package: docker-ce-18.06.0.ce-3.el7.x86_64 (docker-ce-stable)

           Requires: container-selinux >= 2.9

Error: Package: docker-ce-18.06.0.ce-3.el7.x86_64 (docker-ce-stable)

           Requires: libseccomp >= 2.3

这是因为阿里的yum源是CentOS 7的,所以操作系统环境强制为CentOS 7

安装时间稍长,成功后

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

3 启动docker

sudo systemctl start docker

查看运行状态

sudo systemctl status docker

查看版本

#docker version 或者 docker -v

Client:

 Version:           18.06.0-ce

 API version:       1.38

 Go version:        go1.10.3

 Git commit:        0ffa825

 Built:             Wed Jul 18 19:08:18 2018

 OS/Arch:           linux/amd64

 Experimental:      false

 

Server:

 Engine:

  Version:          18.06.0-ce

  API version:      1.38 (minimum version 1.12)

  Go version:       go1.10.3

  Git commit:       0ffa825

  Built:            Wed Jul 18 19:10:42 2018

  OS/Arch:          linux/amd64

  Experimental:     false

4 通过运行hello-world映像验证是否正确安装了docker

sudo docker run hello-world

运行成功结果:

docker学习-1CentOS安装Docker CE_第1张图片

翻译一下:

来自Docker的问候!

此消息表明您的安装似乎正常工作。

 

为了生成此消息,Docker采取了以下步骤:

  1. Docker客户端联系了Docker守护程序。

  2. Docker守护程序从Docker Hub中提取了“hello-world”图像。

    (AMD64)

  3. Docker守护程序从该映像创建了一个新容器,该容器运行

     生成您当前正在阅读的输出的可执行文件。

  4. Docker守护程序将该输出流式传输到发送它的Docker客户端

     到你的终端。

 

要尝试更有野心(ambitious)的东西,您可以运行Ubuntu容器:

  $ docker run -it ubuntu bash

 

使用免费的Docker ID共享图像,自动化工作流程等:

 https://hub.docker.com/

 

有关更多示例和想法,请访问:

 https://docs.docker.com/engine/userguide/

如果运行失败是因为国内方位Docker Hub的速度很不稳定,可以配置镜像加速器解决此问题。使用加速器可以提升获取Docker官方镜像的速度,这里配置阿里云的镜像加速器。

阿里云容器镜像服务地址:

https://www.aliyun.com/product/acr?spm=a2c4g.11186623.5.1.md59Gw

https://cr.console.aliyun.com/cn-qingdao/mirrors

docker学习-1CentOS安装Docker CE_第2张图片

按提示运行命令即可

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'

{

  "registry-mirrors": ["https://编码.mirror.aliyuncs.com"]

}

EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

4.1.3 更新

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

5 卸载docker

卸载Docker:

sudo yum remove docker-ce

主机上的图像,容器,卷或自定义配置文件不会自动删除。 要删除所有图像,容器和卷用如下命令

sudo rm -rf /var/lib/docker

您必须手动删除任何已编辑的配置文件。

参考链接:

https://docs.docker.com/install/linux/docker-ce/centos/

你可能感兴趣的:(docker)