2017年8月23日

Docker 教學 (2) - 解決 Fish Shell 無法設定 docker-machine env ( Resolve fish: Unknown command 'export' when executing docker-machine env )

本篇將介紹當使用 Fish Shell 設定 docker-machine 參數時遇到錯誤:fish: Unknown command 'export' 的解決方法。雖然使用 Fish Shell 的人可能不多,但還是將解決方法記錄下來供參考。( 其他 Docker 相關教學可以參考本篇整理 。If you want to read this article in English, you can visit here )



解決 fish: Unknown command 'export':
首先,先讓我們來了解 Fish Shell 是怎麼設定 Shell 參數。Fish 跟其他 Shell 不太一樣,它並沒有 export 指令來設定參數,而是使用:
set -x [參數名稱] [參數值]
而當我們在使用 eval (docker-machine env your-machine) 時,其內容為:
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://100.100.100.100:2376"
export DOCKER_CERT_PATH="/path/to/your/machine"
export DOCKER_MACHINE_NAME="your-machine"
所以,Fish 當然沒有辦法認得其中的 export 指令,因此丟出錯誤訊息。而 docker-machine 很貼心的提供解決方式,就是利用 --shell 參數:
eval (docker-machine env your-machine --shell=fish)
如此一來,你應該就可以正常的設定 docker-machine 參數。


Environment :
  ・ Mac OS X
Reference :
  ・ Fish Shell
  ・ Docker Machine


熱門文章