1. 程式人生 > >Docker系列~程式碼放在Docker裡面還是外面?(八)

Docker系列~程式碼放在Docker裡面還是外面?(八)

首先需要明確的是:Docker到底能夠帶來什麼樣的好處,Docker帶來輕量級虛擬化容器方面的優勢(資源利用率高,建立快捷,環境純粹)?還是映象帶來的優勢(便於部署,記錄容器狀態,持續整合等)?確定了使用的場景,才好說明程式碼到底放到什麼地方更合適。

舉幾個例子,可以根據場景靈活的方式使用程式碼和資料:

場景一:如果做好了所有程式碼,想分發給其他使用者,這種無疑程式碼放到image是最佳的,包括資料庫初始化指令碼等。


場景二:如果是開發環境,程式碼是用於除錯,程式碼不應該在image裡面,程式碼最好是在本機電腦上,如MacOS,Windows,Linux的個人PC上,那麼就通過volume方式進行掛載

是最方便的,修改程式碼直接就可以進行除錯。如果開發環境在伺服器上,可以通過遠端mount的方式,mount到本機進行開發修改。

場景三:如果是測試環境,建議使用git方式,程式碼不在image中,通過docker exec到容器內pull對應測試tag的程式碼。當然也可以在宿主機pull,然後docker cp到對應的測試容器。

沒有哪種最優,只有最適合的。