1. 程式人生 > >Docker Machine遠端部署docker主機環境

Docker Machine遠端部署docker主機環境

我學習Docker Machine首先肯定思考為什麼要使用它?我直接上伺服器拉取執行映象跑服務也很快啊!為什麼需要這個Docker Machine呢?
首先學習docker我們體會到了容器的好處,保證了線上線下環境的一致性,但是我們確實能發現從映象的下載到容器的執行,我們用了很多的命令去執行,當我們在本地筆記本完成了測試之後,我們把這些容器部署到生產環境時,我們還是需要執行很多指令碼,這確實是一項複雜的工作!
而使用Docker Machine我們可以在本地部署相應的環境就同時完成遠端docker主機環境的部署,可以節省下很多重複的勞動,減少容錯率。

預設本地主機安裝好docker:
一.下載docker-machine:
curl -L

https://github.com/docker/mac…uname -s-uname -m >/tmp/docker-machine && install /tmp/docker-machine /usr/local/bin/docker-machine

檢視是否成功:

[root@localhost ~]# docker-machine -v
docker-machine version 0.13.0, build 9ba6da9

二.ssh無密碼登入

本地主機ip:192.168.1.9
遠端主機ip:192.168.1.10

[root@localhost ~]# ssh-keygen
[root@localhost ~]# ssh-copy-id 192.168.1.10

三.開啟machine通訊埠

[root@localhost ~]# firewall-cmd --add-port=2376/tcp --permanent
[root@localhost ~]# firewall-cmd --reload

四.建立docker遠端主機命名farHost

[[email protected]~]# docker-machine create -d generic –generic-ip-address=192.168.1.10 farHost
Running 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…
[

[email protected] ~]# docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
farHost- generic Running tcp://192.168.1.10:2376 v17.12.1-ce

五.改變docker環境變數

[[email protected] ~]# docker-machine env host1
export DOCKER_TLS_VERIFY="1"    //使用tls協議
export DOCKER_HOST="tcp://192.168.1.10:2376"   //遠端主機docker的ip地址及埠
export DOCKER_CERT_PATH="/root/.docker/machine/machines/farHost" 指明瞭我們docker客戶端在認證的過程中使用證書的路徑 
export DOCKER_MACHINE_NAME="farHost"//遠端主機docker名
# Run this command to configure your shell: 
# eval $(docker-machine env farHost)

把farHost的環境變數配置到當前的shell中

[root@localhost~]# eval $(docker-machine env farHost)

六.執行容器檢視是否同步

[root@localhost~]# docker run -d busybox
[root@localhost~]# docker-machine ssh host1
[root@farHost~]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
busybox latest f6e427c148a7 6 days ago 1.15MB
[root@farHost~]# docker ps 
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8d9b5005a264 busybox "sh" 17 seconds ago Up 16 seconds ago modest_joliot
[root@farHost~]# exit
[root@localhost~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8d9b5005a264 busybox "sh" 57seconds ago Up 16 seconds ago modest_joliot

發現本地主機和遠端主機同時都運行了一樣的busybox的容器,即使我們有再多的機器需要部署生產環境,我們也只需要 do once就可以了。

相關推薦

Docker Machine遠端部署docker主機環境

我學習Docker Machine首先肯定思考為什麼要使用它?我直接上伺服器拉取執行映象跑服務也很快啊!為什麼需要這個Docker Machine呢? 首先學習docker我們體會到了容器的好處,保證了線上線下環境的一致性,但是我們確實能發現從映象的下載到容器

jenkins+docker+docker machine 遠端部署

dotnet publish -c Release docker build -t microtest:1.0 --build-arg microport=1000 -f "$WORKSPACE/MicroService/Dockerfile" "$WORKSPACE/MicroService" d

idea 遠端部署docker 流程

最近自己研究了一下idea遠端部署docker 記錄一下。 一:開啟伺服器2375埠(docker遠端控制支援埠) vim /usr/lib/systemd/system/docker.service 新增 [Service] ExecStart= ExecSta

使用Docker 一鍵部署 LNMP+Redis 環境

使用Docker 部署 LNMP+Redis 環境 Docker 簡介 Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後釋出到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何介面。推薦核心版本3.8及以上

多個docker鏡像部署lnmp開發環境

group process yun ora serve erro select sql_mod href 與其說是lnmp環境,還不如說是3個docker環境的mysql、php和nginx鏡像。下面我們將以依次按照mysql、php和nginx鏡像的順序描述它們的搭建過程

Spring Cloud基於Docker進行打包部署4-容器間的連線和通訊(單主機環境

--- elasticsearch: image: elasticsearch:latest command: elasticsearch -Des.network.host=0.0.0.0 ports: - "9200:9200" logstash: image: logstash

Docker部署Jenkins測試環境

-name docker hub 你們 mkdir -p sts eas pos 目錄 安裝docker環境 yum install epel-release -y && yum install docker -y 如果是高手需要docker-compose

Docker machine主機管理

-m .com host The run state 1.3 roo load 我們生產環節中一定是 多host出現的,所以我用到docker-machine 管理工具,實現對多個host上面的docker的管理。 1、安裝docker-machine設置環境變量;base

記錄Linux CentOS 7系統完整部署Docker容器環境教程

zoom 成功 emc -a rem 企業版 device rep shu 筆者之前有在"詳細介紹Ubuntu 16.04系統環境安裝Docker CE容器的過程"文章中有介紹到利用Ubuntu系統安裝Docker容器環境的過程。如果我們有使用CentOS環境的話,安裝

Centos 7部署docker環境、基本命令使用及簡單實戰

方式 包括 socket stdin 兩種 輕松 本機 打開 root權限 Docker是一個開源的應用容器引擎,屬於Linux容器的一種封裝,是目前最流行的Linux容器解決方案。docker可以為任何應用創建一個輕量級、可移植的容器,然後容器可以運行在任何安裝有dock

使用docker-compose來部署開發環境

evo mysql redis name fail 更新 訪問 def pri docker-compose的作用 docker-comopse可以幫助我們快速搭建起開發環境,比如你可以去把redis,mongodb,rabbitmq,mysql,eureka,config

linux系統部署Java執行環境,以及docker部署mysql(docker-compose)

部署JavaJDK環境 #yum -y install java-1.8.0-openjdk 部署mysql使用docker(用docker-compose封裝好docker-compose up -d執行) 建立docker-compose.yml vim

docker部署nginx+php環境時,訪問php檔案不執行

今天用docker部署nginx+php環境時,訪問php頁面,提示404錯誤。檢視docker日誌發現下面錯誤: [error] 6#6: *1 connect() failed (111: Conn

Linux環境部署------docker

前言:在linux系統中部署環境往往要修改很多配置,利用docker容器技術可以簡便這些操作,快速部署伺服器環境。 docker:通俗來說,就是類似於虛擬機器的執行原理,寄宿在主機上執行。而在docker容器裡面執行的各種容器,類似於安裝window系統需要的映象,當一個系統安裝純淨版時,什麼都

window下使用Docker部署前端開發環境

背景 很早之前就關注過docker,看過有關的資料,但是那時候docker並不支援window,使用需要使用 docker toolbox 採用VirtualBox虛擬機器的方式來安裝,覺得很麻煩,就一直沒有嘗試。 最近無意中發現docker for windo

實戰Docker部署tomcat釋出環境

1.建立Dockerfile,生成tomcat-jre7映象 Dockerfile內容: FROM tomcat:7-jre7 MAINTAINER gena <[email protected]> ADD tomcat-u

超級賬本專案在centos7環境下基於Docker安裝與部署

Hyperledger 專案是開源介面向開放、標準區塊鏈技術的首個重要探索,在 Linux 基金會的支援下,吸引了眾多科技和金融巨頭的參與。 本文將介紹 hyperledger 專案的歷史,並以核心的 fabric 專案為例,講解如何快速安裝部署和應用區塊鏈系統。專案基於Do

內網環境下安裝部署Docker

前言 大部分公司都有屬於自己的內網環境,大部分的整合開發環境也是在內網下部署。最近面臨同樣的需求,內網CentOS部署GitLab 和 Nexus。 思路 首先確定思路,毫無疑問使用Docker是最好的選擇,我只用解決Docker的安裝問題即可,然後使用G

Spring Cloud基於Docker進行打包部署1-環境配置和docker打包執行

1、使用linux虛擬機器離線安裝docker(2)將安裝包拷貝到本地linux虛擬機器中,使用dpkg -i xxx.deb命令安裝。這裡有個問題,docker有一些依賴包,需要一併安裝:下載依賴deb。網址:https://pkgs.org/搜尋:libltdl7搜尋:l

使用Docker 部署 LNMP+Redis 環境

使用Docker 部署 LNMP+Redis 環境 Docker 簡介 Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後釋出到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何介面。推薦核心版本