Docker三剑客machine、compose、swarm
1.machine
真机:
[root@foundation14 machine]# cd /var/www/html/
[root@foundation14 html]# cat docker-ce.repo
[docker]
name=docker-ce
baseurl=http://172.25.14.250/pub/docs/docker/docker-ce
gpgcheck=0
下载get-docker脚本,并修改
[root@foundation14 html]#wget https://get.docker.com/
[root@foundation14 html]# vim get-docker.sh
431 yum_repo="http://172.25.14.250/docker-ce.repo"
server1对server2、3做免密,且server2、3得安装docker
server1将准备好的二进制文件移动到/usr/local/bin/docker-machine,并添加执行权限
[root@server1 ~]# mv docker-machine-Linux-x86_64-0.16.1 /usr/local/bin/docker-machine
[root@server1 ~]# chmod +x /usr/local/bin/docker-machine
[root@server1 ~]# docker-machine create --driver generic --engine-install-url "http://172.25.14.250/get-docker.sh" --generic-ip-address=172.25.14.3 server3
[root@server1 ~]# docker-machine create --driver generic --engine-install-url "http://172.25.14.250/get-docker.sh" --generic-ip-address=172.25.14.2 server2
连接成功
[root@server2 ~]# netstat -antlp
[root@server3 ~]# netstat -antlp
[root@server1 ~]# docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
server2 - generic Running tcp://172.25.14.2:2376 v19.03.15
server3 - generic Running tcp://172.25.14.3:2376 v19.03.15
脚本修改环境变量,显示进入的docker主机
[root@server1 ~]# vim .bashrc
PS1='[\u@\h \W$(__docker_machine_ps1)]\$ '
[root@server1 ~]# eval $(docker-machine env server2)
[root@server1 ~ [server2]]#
2.compose
加载镜像
[root@server1 ~]# docker load -i haproxy.tar #加载镜像
[root@server1 ~]# mkdir compose #创建目录
[root@server1 ~]# cd compose/
[root@server1 compose]# ls
在compose目录中创建相应文件,此目录中的文件会在docker-compose启动时自动读取
[root@server1 compose]# mkdir web1
[root@server1 compose]# echo web1 > web1/index.html
[root@server1 compose]# mkdir web2
[root@server1 compose]# echo web2 > web2/index.html
[root@server1 compose]# mkdir haproxy
[root@server1 compose]# cd haproxy/
[root@server1 haproxy]# vim haproxy.cfg
#
# This is a sample configuration. It illustrates how to separate static objects
# traffic from dynamic traffic, and how to dynamically regulate the server load.
#
# It listens on 192.168.1.10:80, and directs all requests for Host 'img' or
# URIs starting with /img or /css to a dedicated group of servers. URIs
# starting with /admin/stats deliver the stats page.
#
global
maxconn 65535
stats socket /var/run/haproxy.stat mode 600 level admi