簡體   English   中英

用於連接docker守護程序的shell腳本

[英]shell script to connect to docker daemon

我想輕松地將shell連接到docker,可以通過輸入以下命令來實現:

eval "$(docker-machine env docker-vm)"

我想把那行放在一個簡單的shell腳本中,我發現雖然該命令可以通過在bash提示符下鍵入該行來工作,但是如果將其放在shell腳本中然后執行該腳本,則該行將不起作用。 運行腳本后,我將收到錯誤: Cannot connect to the Docker daemon. Is the docker daemon running on this host? Cannot connect to the Docker daemon. Is the docker daemon running on this host?

我正在使用oh-my-zsh和iterm2。

這是使機器運行的小腳本:

#!/usr/bin/env bash
docker-machine start docker-vm
docker-machine ip docker-vm
docker-machine env docker-vm
# this line will not "execute" meaning it does not work from the script
# this line does work proerly when executed from the command line
eval "$(docker-machine env docker-vm)"

為簡單起見,請注意運行腳本時,它將觸發一個新的Shell實例,並且eval命令在該實例上執行該腳本在腳本退出時被銷毀。

因此,您需要在每個會話上運行eval

我建議您將命令注入.bash_profile或類似文件中,因此它會每次嘗試連接docker-machine和docker。 如果沒有要連接的計算機,則不會,並且錯誤顯示沒有主機在運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM