CentOS 7安裝 Docker-machine及日常使用


CentOS 7.6.1810 安裝 Docker-machine 0.16.0 

其它系統安裝說明請訪問:官方文檔

Centos 7系統請使用如下代碼:

$ base=https://github.com/docker/machine/releases/download/v0.16.0 &&
  curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine &&
chmod +x /tmp/docker-machine && sudo install /tmp/docker-machine /usr/bin/docker-machine

Check the installation by displaying the Machine version:

$ docker-machine version
docker-machine version 0.16.0, build 9371605

下載 completion script:docker-machine-prompt.bash      docker-machine-wrapper.bash    docker-machine.bash 將其放在/etc/bash_completion.d目錄下

bash文件下載地址

編輯 /root/.bashrc文件如下

vim /root/.bashrc
PS1='[\u@\h \W$(__docker_machine_ps1)]\$ '

若出現如下錯誤

請在 /root/.bashrc 添加如下代碼

source /etc/bash_completion.d/docker-machine-wrapper.bash
source /etc/bash_completion.d/docker-machine-prompt.bash
source /etc/bash_completion.d/docker-machine.bash

 

並重新source下bashrc

source /root/.bashrc

安裝完成。

通過docker-machine在其它host創建docker,創建 machine 要求能夠無密碼登錄遠程主機,所以需要先通過如下命令將 ssh key 拷貝到 192.168.1.206. 可查 官方文檔

ssh-keygen                         #生成密鑰,生成位置/root/.ssh/

ssh-copy-id root@192.168.1.206       #復制公鑰至遠程目標
ssh 192.168.1.206       #遠程目標

vim /etc/ssh/sshd.config       #配置遠程主機

PubkeyAuthentication yes                #打開此行注釋

service sshd restart       #重啟ssh服務
setenfoce 0                #官方並沒有提示關閉遠程主機的selinux,但是我關閉了
systemctl stop firewalld         #關閉遠程主機的防火牆
systemctl disable firewalld       #禁止開機啟動

一切准備就緒,執行 docker-machine create 命令創建 docker(此處為計算機名,可以是elk,zabbix,mysql等有意義的名字)

docker-machine create -d generic --generic-ip-address=192.168.1.234 --generic-ssh-key ~/.ssh/id_rsa --generic-ssh-user=root docker  #虛機使用此行
# docker-machine create --driver generic --generic-ip-address=192.168.1.206 elk  #cloudman ubuntu16.0.4使用

執行 docker-machine ls查看安裝完成的docker

docker-machine ls

  

遠程到目標主機並查看docker daemon 的具體配置

 

vim /etc/systemd/system/docker.service.d/10-machine.conf      #針對centos 7.6.1810
# vim  /etc/systemd/system/docker.service              #針對ubuntu 16.0.4

  1. -H tcp://0.0.0.0:2376 使 docker daemon 接受遠程連接。

  2. --tls* 對遠程連接啟用安全認證和加密。

查看遠程主機docker的env環境

docker-machine env docker

eval $(docker-machine env docker)   #通過docker-machine管理192.168.1.234上的docker

看到命令行提示符已經變了,其原因是我們之前在$HOME/.bashrc 中配置了 PS1='[\u@\h \W$(__docker_machine_ps1)]\$ ',用於顯示當前 docker host。

eval $(docker-machine env zabbix)            #切換到 zabbix
docker-machine upgrade docker zabbix          #批量執行更新 machine 的 docker 到最新版本
docker-machine config docker               #查看machine 的 docker daemon 配置

stop/start/restart 是對 machine 的操作系統操作,而 不是 stop/start/restart docker daemon

docker-machine scp docker:/tmp/a zabbix:/tmp/b    #在不同的host之間拷貝數據

以上是通過docker-machine遠程其它主機安裝docker,及一些常用操作

 

下面是如何通過docker-machinet刪除之前安裝docker. 官網文檔 

Remove a machine. This removes the local reference and deletes it on the cloud provider or virtualization management platform.

$ docker-machine rm --help

Usage: docker-machine rm [OPTIONS] [arg...]

Remove a machine

Description:
   Argument(s) are one or more machine names.

Options:

   --force, -f    Remove local configuration even if machine cannot be removed, also implies an automatic yes (`-y`)
   -y        Assumes automatic yes to proceed with remove, without prompting further user confirmation

Examples

$ docker-machine ls
NAME   ACTIVE   URL          STATE     URL                         SWARM   DOCKER   ERRORS
bar    -        virtualbox   Running   tcp://192.168.99.101:2376           v1.9.1
baz    -        virtualbox   Running   tcp://192.168.99.103:2376           v1.9.1
foo    -        virtualbox   Running   tcp://192.168.99.100:2376           v1.9.1
qix    -        virtualbox   Running   tcp://192.168.99.102:2376           v1.9.1


$ docker-machine rm baz
About to remove baz
Are you sure? (y/n): y
Successfully removed baz


$ docker-machine ls
NAME   ACTIVE   URL          STATE     URL                         SWARM   DOCKER   ERRORS
bar    -        virtualbox   Running   tcp://192.168.99.101:2376           v1.9.1
foo    -        virtualbox   Running   tcp://192.168.99.100:2376           v1.9.1
qix    -        virtualbox   Running   tcp://192.168.99.102:2376           v1.9.1


$ docker-machine rm bar qix
About to remove bar, qix
Are you sure? (y/n): y
Successfully removed bar
Successfully removed qix


$ docker-machine ls
NAME   ACTIVE   URL          STATE     URL                         SWARM   DOCKER   ERRORS
foo    -        virtualbox   Running   tcp://192.168.99.100:2376           v1.9.1

$ docker-machine rm -y foo
About to remove foo
Successfully removed foo 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM