1.基础环境
官方地址:https://www.docker.com/
Docker的安装非常容易.目前,Docker支持所有的Linux系列系统(Ubuntu,RHEL,Debian等)。通过Boot2Docker虚拟工具,在OSX和Windows下也能够正常运行Docker。部署方便,快速,安全,隔离性好,快速回滚,成本低,管理成本低等。
Docker运行环境限制:
(1)必须是64位机器上运行,目前仅支持X86_64和AMD64,32位系统不支持。
(2)Linux内核必须是3.8或者更高,内核支持Device Mapper,AUFS,VFS,btrfs等存储格式.
(3)内核必须支持cgroups和命名空间
Docker版本选择:
Docker之前没有区分版本,但是2017年初推出新的项目Moby,GitHub地址:https://github.com/moby/moby.Moby项目属于Docker项目的全新上游,Docker是一个隶属于Moby的子产品,而且之后的版本开始区分为CE版本(社区版本)和EE(企业收费版本),CE社区版本和EE企业版本都是每个季度发布一个新版本,但是EE版本提供后期安全维护一年,而CE版本是4个月。
当与kubernetes结合使用的时候,要安装经过kubernetes官方测试通过的docker版本,避免出现不兼容等未知的及不可预估的问题发生,kubernetes测试过的docker版本可以在GitHub上查询,具体如下:https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.14
系统版本:
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-862.el7.x86_64
#1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
2.yum方式部署Docker
YUM源可以使用官方YUM源,清华大学开源镜像站配置YUM源,也可以使用阿里云开源镜像站提供的YUM源,建议选择使用阿里云开源镜像站提供的YUM源,原因速度快。
(1).获取阿里云开源镜像站YUM源文件
(2).安装Docker-ce
在docker host上安装即可,本次使用YUM源中稳定版本,由于版本在不断更新,不同的时间安装版本也不相同,使用方法基本一致。
1)安装依赖包
#yum install -y yum-utils device-mapper-persistent-data lvm2
注:yum-utils提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
2)设置阿里云docker镜像源
#yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#yum clean all
#yum makecache
3)查看仓库中所有docker版本
#yum list docker-ce --showduplicates | sort -r
4)安装docker
#yum install -y docker-ce
注:containerd.io:(容器,管理docker)daemon to interface with the OS API (in this case, LXC - Linux Containers), essentially decouples Docker from the OS, also provides container services for non-Docker container managers.
docker-ce :(Docker守护进程)Docker daemon this is the part that does all the management work, requires the other two on Linux.
Docker守护进程,
docker-ce-cli :(CLI管理工具) CLI tools to control the daemon, you can install them on their own if you want to control a remote Docker daemon.
5)配置Docker Daemon启动文件
由于Docker使用过程中会对Centos操作系统中的Iptables防火墙中的FORWARD链默认规划产生影响及需要让Docker Daemon接受用户自定义的daemon.json文件,需要要按使用者要求的方式修改。
#vim /usr/lib/systemd/system/docker.service
6)启动Docker
#systemctl start docker #启动
#systemctl enable docker #设置开机自启
也可以指定版本进行安装:yum install docker-ce-版本号
3.验证
docker引擎的默认网卡是docker0,当systemctl start docker启动容器server时默认会生成一个网段为172.17.0.1/24的网卡设备。
docker0 即是一个虚拟网卡,又是一个虚拟交换机。【虚拟网卡:实现了它跟宿主机的通信。虚拟交换机:将它的网关加到容器中,使得容器与容器之间,容器与外网可以通信】
#ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
ether 02:42:c7:8e:c7:94 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.30.51.174 netmask 255.255.240.0 broadcast 172.30.63.255
ether 00:16:3e:13:f0:9a txqueuelen 1000 (Ethernet)
RX packets 27594244 bytes 5094688800 (4.7 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 28792324 bytes 4390194237 (4.0 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0