我創建了一個僅包含靜態HTML文件的數據容器,這些靜態HTML文件將被nginx容器使用。目標是我的webapp提供一個nginx可以使用的音量。docker從零開始運行數據容器
爲此,我創建了一個簡單Dockerfile:
FROM scratch
MAINTAINER me <[email protected]>
ADD dist/ /webappp/
當我運行命令行創建容器run -d -v /webappp --name webapp myOrg/webapp echo yo
我得到這要是當然正確的,因爲圖像沒有命令錯誤Error response from daemon: Cannot start container db7fd5cd40d76311f8776b1710b4fe6d66284fe75253a806e281cd8ae5169637: exec: "echo": executable file not found in $PATH
完全可以執行。不使用命令運行容器是不可能的。
雖然命令行上的這個錯誤對我來說不是一個大問題,因爲我知道數據容器仍然被創建,現在可以被nginx訪問,但如果我想用Vagrant自動化它,結果是不行。由於這個錯誤,自動化進程總是失敗。
我到目前爲止唯一的解決方案是從發行版中擴展我的小小方便的圖像,恕我直言,對於僅用於數據的容器來說,這只是爲了調用echo或true!
Docker中是否有NOP exec命令,或者docker是否需要始終執行某些操作?是否可以運行臨時容器,該容器什麼都不做或者不會產生錯誤。
我不確定這是否有幫助,但你有沒有嘗試http://stackoverflow.com/questions/25845785/most-closed-container-for-a-data-only-container? 順便說一句,我結束了我的數據容器使用busybox。 –