讓開發環境與測試環境分離

當開發環境都 Docker 化,最常遇到的問題就是開發環境該如何與測試環境分離,如 IDE 裝在 macOS,如 WebStorm / Rider / VS Code,且 code 也放在 macOS,但實際 build code 或跑測試,卻是在 container 內,因此勢必要將 macOS 的目錄與 container 共享。

Version


macOS High Sierra 10.13.3
Docker for Mac 17.20.0-ce-mac49 (21995)

參數 -v


由於每個人要分享的目錄都不一樣,所以不能將共享目錄寫在 Dockerfile,而必須在使用 docker run 建立 container 加上 -v

1
$ docker run --name MyJenkinsCore -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home -v /Users/oomusou/Code:/var/code   oomusou/jenkins-core

以上為例

1
-v /Users/oomusou/Code:/var/code

所有程式都放在 macOS 的 /Users/oomusou/Code,我們希望對應到 container 內的 /var/code,只要 /Users/oomusou/Code 有任何修改,在 container 內都看得到。

Conclusion


  • 一個很小的參數,但實務上卻非常有用
2018-03-08