概述: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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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