[英]Suggested command to eval “docker-machine env default” output fails on Cygwin
[英]eval $(docker-machine env myvm1) does not switch to shell to talk to myvm1
伙計們,
我在這里關注Docker教程: https : //docs.docker.com/get-started/part4/#configure-a-docker-machine-shell-to-the-swarm-manager並在運行時遇到阻力這個特殊的命令:
eval $(docker-machine env myvm1)
我實際上正在運行(如上所述,但添加了sudo)。
eval $(sudo docker-machine env myvm1)
我從命令行得到沒有輸出告訴我已經完成了什么以及我什么時候運行:
sudo docker-machine ls
我看到myvm1 沒有一個活躍狀態的預期。 我知道這一步沒有必要,但我想了解為什么命令不起作用並嘗試修復它。
我正在運行碼頭17.09.0-ce
在Ubuntu 16.04 LTS上
zsh shell(嘗試切換到bash)
順便說一句,這只是在我的本地機器上,而不是服務器。
任何幫助將非常感激。
如果你在sudo
的遠端運行eval
,那就不會出錯了:
sudo sh -c 'eval "$(docker-machine env myvm1)"; docker-machine ls'
否則,通過eval
docker-machine env
的輸出而設置的環境變量不一定(禁止一些非常具體的/etc/sudoers
配置)傳播到未來的docker-machine
調用。
如果你想用shell函數自動化它,可以這樣做:
# docker-env sudo; usage: desudo vm-name command-to-run
desudo() {
local cmd1 cmd2
printf -v cmd1 'eval "$(docker-machine env %q)"' "$1"; shift
printf -v cmd2 '%q ' "$@"
sudo bash -c "${cmd1} && exec ${cmd2}"
}
...用作:
desudo vm1 docker-machine ls
你應該運行eval $(docker-machine env myvm1)
。 實際上,您不必添加sudo
。
但是你可能沒有權限在沒有sudo
情況下運行docker
,這里是如何在Linux上解決這個問題。
按照本文中的步驟“Linux的安裝后步驟 ”
docker
組。 sudo groupadd docker
docker
組。 sudo usermod -aG docker $USER
sudo
情況下運行docker命令。 docker run hello-world
。 如果您看到以下錯誤:
WARNING: Error loading config file: /home/user/.docker/config.json -
stat /home/user/.docker/config.json: permission denied
修復它:
$ sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
$ sudo chmod g+rwx "/home/$USER/.docker" -R
我也遇到了與發布完全相同的問題,並且花了大部分時間用谷歌搜索答案。 我回過頭來看看文檔並意識到我完全省略了Linux的安裝后步驟。
https://docs.docker.com/install/linux/linux-postinstall/
我按照標記為Manage Docker的部分中的說明作為非root用戶和eval $(sudo docker-machine env myvm1)
,后續的eval $(sudo docker-machine env myvm1)
docker-machine ls
按預期工作。 另外......它消除了使用sudo
為所有docker命令添加前綴的需要。
我猜我應該有RTFM嗎?
我實際上正在運行(如上所述,但添加了sudo)。
eval $(sudo docker-machine env myvm1)
我從命令行得到沒有輸出告訴我已經完成了什么以及我什么時候運行:
sudo docker-machine ls我看到myvm1沒有按預期的活動狀態。
運行此命令它將工作
sudo sh -c'eval“$(docker-machine env myvm1)”; docker-machine ls'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.