概述:docker今年搞出了个大新闻,3月份docker分成了docker-ce,docker-ee,分别是社区版和企业版,这一举动可以看出docker商业化的野心(是时候割麦子了。。。),本次的主角是docker swarm也就是docker集群,而且使用的是非常新的docker版本(其实是因为新的docker版本将swarm融合进了docker-engine中)。
环境准备:
因为docker是最新的ce版,所以将rhel也升级到了最新的版本rhel7.3
kernel: 3.10.0-514
docker:17.03.0-ce
官方下载地址:rpm包下载地址
如果手动升级之后图形界面崩溃,建议删除如下文件:
/var/cache/*
/tmp/
/root/.*
/home/$user/.*
cp /etc/skel/.* /root/
cp /etc/skel/.* /home/$user/
安装docker-ce
下载好后出现如下的包即可
docker-ce-17.03.0.ce-1.el7.centos.x86_64.rpm
docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch.rpm
使用yum安装,可以解决所有依赖,只要你是rhel7.3。
安装好后检查一下docker版本
Client:
Version: 17.03.0-ce
API version: 1.26
Go version: go1.7.5
Git commit: 3a232c8
Built: Tue Feb 28 08:10:07 2017
OS/Arch: linux/amd64
Server:
Version: 17.03.0-ce
API version: 1.26 (minimum version 1.12)
Go version: go1.7.5
Git commit: 3a232c8
Built: Tue Feb 28 08:10:07 2017
OS/Arch: linux/amd64
Experimental: false
swarm测试
导入镜像
[root@foundation3 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
当前无镜像
[root@foundation3 ~]# docker load -i /home/kiosk/Desktop/ubuntu.tar
454970bd163b: Loading layer 153.2 MB/196.8 MB
正在导入镜像
[root@foundation3 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 07c86167cdc4 14 months ago 188 MB
镜像导入完毕
[root@foundation3 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
现在没有docker容器
[root@foundation3 ~]# docker run -it --name default ubuntu bash
f7bcfc1c908f190b11876d1d2656a7572973ef1b3f78ee04c197256d37f6e507
运行一个容器在前端
[root@foundation3 ~]# docker run -it --name default ubuntu bash
root@0f50528f7148:/# ls
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
进入容器(ctrl+pq将容器打入后台)
27: eth0@if28: mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.2/16 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::42:acff:fe11:2/64 scope link
valid_lft forever preferred_lft forever
查看容器ip地址
[root@foundation3 ~]# docker swarm init --advertise-addr 172.17.0.2
Swarm initialized: current node (nn9pnx7gdy55y7x6fp1trj3zy) is now a manager.
To add a worker to this swarm, run the following command:
docker swarm join \
--token SWMTKN-1-0kxn63sw4exvd63cmvsfzya1qb8312858ulcwpsp06rtleellk-abqnegff7b210yuw2wi4161c4 \
172.17.0.2:2377
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
初始化swarm