Docker在不同环境下的安装

本文记录Docker分别在以下环境中的安装步骤

  • Windows 10
  • CentOS 6
  • CentOS 7

Docker 简介

Docker 分为社区版和企业版,两者区别如下:
在这里插入图片描述
在这里插入图片描述




Windows 10 安装Docker

Windows 版 Docker 需要运行在一个安装了64位Windows 10 操作系统的计算机上,通过启动一个独立的引擎来提供Docker 环境。
Windows 版 Docker 是一个社区版本(Community Edition,CE)的应用,并不是为生产环境设计的。
Windows 版 Docker 在某些版本特性上可能是延后支持的。因为Docker公司对该产品的定位是稳定性第一,新特性其次。

1. 环境要求
  • Windows 10 Pro / Enterprise / Education(1607 Anniversary Update、Build 14393 或者更新的版本)
  • Windows 必须是64位的版本
  • 启用Windows 的Hyper-V 和 容器特性
2. BIOS中开启硬件虚拟化支持

如何进入BIOS,不同的厂商方法不同,一般是F12、F8、F1、ESC等,具体自行百度即可。

找到“Virtualization”设置
在这里插入图片描述
修改为Enabled
在这里插入图片描述
如何确认是否已开启虚拟化
同时按Ctrl + Shift + Esc 进入任务管理器,点击性能、CPU,查看是否已开启虚拟化
在这里插入图片描述

3. 启用Hyper-V 和 容器特性

进入程序和功能,点击“启用或关闭Windows功能”
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
重启系统!

4. 安装Docker

下载链接:https://www.docker.com/products/docker-desktop
点击“Download for Windows”,会跳转至Docker hub,使用Docker ID登录进行下载。没有Docker ID的话可以直接注册一个。

下载完之后,直接双击运行即可。
在这里插入图片描述
可以看到Docker已经启动了,关于Docker for Windows 的使用,下一篇博客中会写到(现在还没写呢,争取早日写完)。
在这里插入图片描述



CentOS 6 安装Docker

0. dcoker-io、docker-ce、docker-ee的区别
  • docker-io是旧版本,版本号为1.x(最新到1.13)
  • 2017年02月,docker-io分为了docker-ce、docker-ee,版本号以YY.MM-xx格式记录(最新到19.03.3)
1. 环境要求

docker-ce必须安装在CentOS 7 中,CentOS 6想安装docker,有两个选择。

  • 升级CentOS 6 的内核至3.10以上(CentOS 6 的内核版本为2.6)
  • 安装旧版本的docker-io

升级内核会对生产环境造成严重影响,禁止直接升级生产环境内核版本。

留给我们的只有安装旧版本docker-io这条路。

2. 离线安装docker-io

由于CentOS 6 自带的epel源中不包含docker-io,哪怕使用yum install epel-release后,仍然没有docker-io,并且国内各大开源镜像站中也没有。
只能通过离线安装(rpm方式安装,和yum一样,唯一不同就是要手动安装很多依赖)

国内常用开源镜像站:(这些epel中都没有docker-io)

阿里:mirrors.aliyun.com
网易:mirrors.163.com
清华大学:mirrors.tuna.tsinghua.edu.cn
中科大:http://mirrors.ustc.edu.cn
浙大:mirrors.zju.edu.cn
华中科技大学:mirror.hust.edu.cn
上海交大:ftp.sjtu.edu.cn

3. 安装包及依赖准备

下载链接:http://www.rpmfind.net/linux/rpm2html/search.php?query=docker

系统环境rpm包版本
CentOS 6.10 for x86_64libcgroup-0.40.rc1-26.el6.x86_64.rpm
Extras Packages for Enterprise Linux 6 for x86_64lxc-libs-1.0.11-1.el6.x86_64.rpm
Extras Packages for Enterprise Linux 6 for x86_64lua-alt-getopt-0.7.0-1.el6.noarch.rpm
Extras Packages for Enterprise Linux 6 for x86_64lua-filesystem-1.4.2-1.el6.x86_64.rpm
Extras Packages for Enterprise Linux 6 for x86_64lua-lxc-1.0.11-1.el6.x86_64.rpm
Extras Packages for Enterprise Linux 6 for x86_64lxc-1.0.11-1.el6.x86_64.rpm
Device-mapper shared library CentOS 6.10 for x86_64device-mapper-libs-1.02.117-12.el6_9.1.x86_64.rpm
CentOS 6docker-io-1.7.1-2.el6.x86_64.rpm
4. 安装docker-io

将docker和依赖的rpm包上传至服务器,使用rpm -ivh进行安装,lxc-libs要先安装

[root@localhost docker-io-1.7.1]# rpm -ivh lxc-libs-1.0.11-1.el6.x86_64.rpm 
[root@localhost docker-io-1.7.1]# rpm -ivh lua-lxc-1.0.11-1.el6.x86_64.rpm 
[root@localhost docker-io-1.7.1]# rpm -ivh lxc-1.0.11-1.el6.x86_64.rpm 
[root@localhost docker-io-1.7.1]# rpm -ivh libcgroup-0.40.rc1-26.el6.x86_64.rpm
[root@localhost docker-io-1.7.1]# rpm -ivh lua-alt-getopt-0.7.0-1.el6.noarch.rpm
[root@localhost docker-io-1.7.1]# rpm -ivh lua-filesystem-1.4.2-1.el6.x86_64.rpm 
[root@localhost docker-io-1.7.1]# rpm -ivh device-mapper-libs-1.02.117-12.el6_9.1.x86_64.rpm
[root@localhost docker-io-1.7.1]# rpm -ivh docker-io-1.7.1-2.el6.x86_64.rpm
warning: docker-io-1.7.1-2.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Preparing...                ########################################### [100%]
   1:docker-io              ########################################### [100%]
[root@localhost docker-io-1.7.1]# 
5. 启动docker
[root@localhost docker-io-1.7.1]# docker -v
Docker version 1.7.1, build 786b29d/1.7.1
[root@localhost docker-io-1.7.1]# service docker start
Starting cgconfig service:                             [确定]
Starting docker:	                                   [确定]
[root@localhost docker-io-1.7.1]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@localhost docker-io-1.7.1]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@localhost docker-io-1.7.1]# 

docker的使用,后续会另起博客。




CentOS 7 安装Docker

官方安装链接:https://docs.docker.com/v17.09/engine/installation/linux/docker-ce/centos/#install-using-the-repository

1. 确定系统版本信息
[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.4.1708 (Core) 
[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
2. 检查是否存在旧版本
[root@localhost ~]# rpm -qa | grep docker
[root@localhost ~]# 
3. 查看yum源中是否有docker-ce
[root@localhost ~]# yum list | grep docker-ce
[root@localhost ~]#

可以看到,CentOS中没有docker-ce,按照docker官网指示操作即可

4. 安装所需的软件包
[root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
5. 设置稳定的存储库
[root@localhost ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

如果安装时网速很慢,可以换阿里云的源

[root@localhost ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

再查看yum源中,就有docker-ce了,最新版本是19.03.3

[root@localhost ~]# yum list | grep docker-ce
containerd.io.x86_64                        1.2.10-3.2.el7             docker-ce-stable
docker-ce.x86_64                            3:19.03.3-3.el7            docker-ce-stable
docker-ce-cli.x86_64                        1:19.03.3-3.el7            docker-ce-stable
docker-ce-selinux.noarch                    17.03.3.ce-1.el7           docker-ce-stable
[root@localhost ~]# 
6. 安装docker-ce
  • 直接安装最新的docker-ce.
    如果这是您是第一次从最近添加的存储库中安装软件包,则会提示您接受GPG密钥,并显示密钥的指纹。验证指纹是否正确,如果正确,请接受密钥。指纹应该匹配**** **** **** **** **** **** **** **** ****
[root@localhost ~]# yum install docker-ce
[root@localhost ~]# systemctl start docker
  • 安装指定版本的docker-ce.
    尤其是生产环境,稳定性高于一切,不建议直接安装最新版本。可以通过以下方式安装指定版本。

查看版本列表
列表的内容取决于启用了哪些存储库,并且将特定于您的CentOS .el7版本(在此示例中,由该版本的后缀表示)。选择要安装的特定版本。第二列是版本字符串。您可以使用整个版本字符串,但至少需要在第一个连字符中包含该字符串。第三列是存储库名称,它指示软件包来自哪个存储库,并扩展其稳定性级别。要安装特定版本,请在软件包名称后附加版本字符串,并用连字符(-)分隔。

[root@localhost ~]# yum list docker-ce --showduplicates | sort -r
 * updates: mirrors.163.com
Loading mirror speeds from cached hostfile
Loaded plugins: fastestmirror, langpacks
 * extras: mirrors.163.com
docker-ce.x86_64            3:19.03.3-3.el7                     docker-ce-stable
docker-ce.x86_64            3:19.03.2-3.el7                     docker-ce-stable
docker-ce.x86_64            3:19.03.1-3.el7                     docker-ce-stable
docker-ce.x86_64            3:19.03.0-3.el7                     docker-ce-stable
docker-ce.x86_64            3:18.09.9-3.el7                     docker-ce-stable
docker-ce.x86_64            3:18.09.8-3.el7                     docker-ce-stable
docker-ce.x86_64            3:18.09.7-3.el7                     docker-ce-stable
docker-ce.x86_64            3:18.09.6-3.el7                     docker-ce-stable
docker-ce.x86_64            3:18.09.5-3.el7                     docker-ce-stable
docker-ce.x86_64            3:18.09.4-3.el7                     docker-ce-stable
docker-ce.x86_64            3:18.09.3-3.el7                     docker-ce-stable
docker-ce.x86_64            3:18.09.2-3.el7                     docker-ce-stable
docker-ce.x86_64            3:18.09.1-3.el7                     docker-ce-stable
docker-ce.x86_64            3:18.09.0-3.el7                     docker-ce-stable
docker-ce.x86_64            18.06.3.ce-3.el7                    docker-ce-stable
docker-ce.x86_64            18.06.2.ce-3.el7                    docker-ce-stable
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
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.3.ce-1.el7                    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
 * base: mirrors.163.com
Available Packages
[root@localhost ~]# 

注意:版本字符串是程序包名称加上直到第一个连字符的版本。在上面的示例中,标准包名称为docker-ce-17.06.1.ce。

指定版本安装docker-ce

18.06.3.ce之后的版本字符串格式变了,以下是安装命令区别

[root@localhost ~]# yum install docker-ce-18.03.1.ce
[root@localhost ~]# yum install docker-ce-19.03.3
7. 验证docker-ce是否安装成功
[root@localhost ~]# docker -v
Docker version 19.03.3, build a872fc2f86
[root@localhost ~]# rpm -qa | grep docker
docker-ce-cli-19.03.3-3.el7.x86_64
docker-ce-19.03.3-3.el7.x86_64
[root@localhost ~]# 
  • 启动docker,通过docker run hello-world进行终极验证
[root@localhost /]# systemctl start docker
[root@localhost /]# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete 
Digest: sha256:c3b4ada4687bbaa170745b3e4dd8ac3f194ca95b2d0518b417fb47e5879d9b5f
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
[root@localhost /]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
afd4a0f174c4        hello-world         "/hello"            28 seconds ago      Exited (0) 26 seconds ago                       beautiful_ellis
[root@localhost /]# 

已成功安装。

8. 卸载docker-ce
[root@localhost /]# yum remove docker docker-common docker-selinux docker-engine
[root@localhost /]# rpm -qa | grep docker
docker-ce-cli-19.03.3-3.el7.x86_64
[root@localhost /]# docker -v
Docker version 19.03.3, build a872fc2f86
[root@localhost /]# rpm -e docker-ce-cli-19.03.3-3.el7.x86_64
[root@localhost /]# docker -v
bash: /usr/bin/docker: No such file or directory
[root@localhost /]# rpm -qa | grep docker
[root@localhost /]# 

以下几个rpm包都要卸载

packages:
(1/4): container-selinux-2.107-3.el7.noarch.rpm
(2/4): containerd.io-1.2.10-3.2.el7.x86_64.rpm
(3/4): docker-ce-19.03.3-3.el7.x86_64.rpm
(4/4): docker-ce-cli-19.03.3-3.el7.x86_64.rpm

感谢阅读,有兴趣的小伙伴可以关注我的公众号DevOps探索之旅,大家一起学习进步
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值