管理 Machine - 每天5分鍾玩轉 Docker 容器技術(47)


 docker-machine 創建 machine 的過程很簡潔,非常適合多主機環境。除此之外,Docker Machine 也提供了一些子命令方便對 machine 進行管理。其中最常用的就是無需登錄到 machine 就能執行 docker 相關操作。

我們前面學過,要執行遠程 docker 命令我們需要通過 -H 指定目標主機的連接字符串,比如:

docker -H tcp://192.168.56.105:2376 ps

Docker Machine 則讓這個過程更簡單。docker-machine env host1顯示訪問 host1 需要的所有環境變量:

226.png

根據提示,執行 eval $(docker-machine env host1)

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

在此狀態下執行的所有 docker 命令其效果都相當於在 host1 上執行,例如啟動一個 busybox 容器:

執行 eval $(docker-machine env host2) 切換到 host2:

下面再介紹幾個有用的 docker-machine 子命令:

docker-machine upgrade 更新 machine 的 docker 到最新版本,可以批量執行:

docker-machine config 查看 machine 的 docker daemon 配置:

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

docker-machine scp 可以在不同 machine 之間拷貝文件,比如:

docker-machine scp host1:/tmp/a host2:/tmp/b

可見,在多主機環境下 Docker Machine 可以大大提高效率,而且操作也很簡單,希望大家都能掌握。

下一節我們開始學習跨主機的容器網絡。

二維碼+指紋.png


免責聲明!

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



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