一、docker machine概要
Docker Machine發布之前,你可能會遇到以下問題:
①你需要登錄主機,按照主機及操作系統特有的安裝以及配置步驟安裝Docker,使其能運行Docker容器。
②你需要研發一套工具管理多個Docker主機并監控其狀態。
③你在本地開發,產品部署在公有云平臺,你希望能盡可能的減小兩個環境的差異性
Docker Machine的出現解決了以上問題。
①Docker Machine簡化了部署的復雜度,無論是在本機的虛擬機上還是在公有云平臺,只需要一條命令便可搭建好Docker主機
②Docker Machine提供了多平臺多Docker主機的集中管理
③Docker Machine 使應用由本地遷移到云端變得簡單,只需要修改一下環境變量即可和任意Docker主機通信部署應用。
二、docker machine在遠程主機部署docker
環境:
步驟:
①更新curl
yum update curl -y
②安裝docker-machine
安裝可參考docker-machine官網
linux下載路徑:
按需求直接復制粘貼安裝即可
[root@node1 ~]# docker-machine -vdocker-machine version 0.13.0, build 9ba6da9
③創建ssh密鑰對,實現兩主機無密登錄
[root@node1 ~]# ssh-keygen[root@node1 ~]# ssh-copy-id 192.168.1.10
④為本地下載更多鏡像源,避免在創建machine時找不到軟件包
[root@node1 ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/rep... #此為阿里云centos7鏡像源[root@node1 ~]# yum install epel-release #第三方源
⑤開啟machine通訊端口
[root@node1 ~]# firewall-cmd --add-port=2376/tcp --permanent[root@node1 ~]# firewall-cmd --reload
⑥創建docker主機,命名host1
[root@node1 ~]# docker-machine create -d generic --generic-ip-address=192.168.1.10 host1Running pre-create checks...Creating machine...(swarm-master) No SSH key specified. Assuming an existing key at the default location.Waiting for machine to be running, this may take a few minutes...Detecting operating system of created instance...Waiting for SSH to be available...Detecting the provisioner...Provisioning with centos...Running...[root@node1 ~]# docker-machine lsNAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORShost1 - generic Running tcp://192.168.1.10:2376 v17.12.1-ce
⑦變更docker環境變量
[root@node1 ~]# docker-machine env host1
export DOCKER_TLS_VERIFY="1"export DOCKER_HOST="tcp://192.168.1.10:2376"export DOCKER_CERT_PATH="/root/.docker/machine/machines/host1"export DOCKER_MACHINE_NAME="host1"# Run this command to configure your shell: # eval $(docker-machine env host1)
[root@node1 ~]# eval $(docker-machine env host1)
⑧運行容器查看兩端是否同步
[root@node1 ~]# docker run -d busybox[root@node1 ~]# docker-machine ssh host1[root@host1 ~]# docker image lsREPOSITORY TAG IMAGE ID CREATED SIZEbusybox latest f6e427c148a7 6 days ago 1.15MB[root@host1 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES8d9b5005a264 busybox "sh" 17 seconds ago Up 16 seconds ago modest_joliot[root@host1 ~]# exit[root@node1 ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES8d9b5005a264 busybox "sh" 57seconds ago Up 16 seconds ago modest_joliot
鏡像容器同步測試成功
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答
圖片精選