我是碼頭工人,我創建了一個運行軌道應用程序的碼頭圖像。現在我想在後臺運行的後臺程序的應用程序,但它一直對我想逃出來:碼頭運行期間的多個命令
docker run -d -p 2000:2000 image_name "source ~/.bash_profile; cd src; rails s"
正如你看到的,我的Rails應用程序是在src目錄。
我也嘗試添加在.bashrc中的泊塢窗圖像軌道路徑,但仍然是錯誤列如下:
有人可以請大家指正。
我是碼頭工人,我創建了一個運行軌道應用程序的碼頭圖像。現在我想在後臺運行的後臺程序的應用程序,但它一直對我想逃出來:碼頭運行期間的多個命令
docker run -d -p 2000:2000 image_name "source ~/.bash_profile; cd src; rails s"
正如你看到的,我的Rails應用程序是在src目錄。
我也嘗試添加在.bashrc中的泊塢窗圖像軌道路徑,但仍然是錯誤列如下:
有人可以請大家指正。
你可以用startup.sh
這樣的東西包裝你的命令,然後使其可執行。然後,只需撥打docker run -d -p 2000:2000 image_name startup.sh
或者如果您希望在容器啓動時始終運行此命令,請查看CMD
和ENTRYPOINT
命令。
另外請記住,要使docker容器保持運行,您需要在前臺保持活動狀態。
試試下面的辦法:
docker run -d -p 2000:2000 image_name sh -c 'source ~/.bash_profile; cd src; rails s'
這是因爲碼頭工人不支持運行多個命令,而「SH -c」是一個命令。
你能發佈確切的錯誤信息嗎?您應該在Dockerfile中使用CMD http://docs.docker.com/reference/builder/#cmd或ENTRYPOINT http://docs.docker.com/reference/builder/#entrypoint來啓動您的Rails應用程序,看看例如這個Dockerfile https://registry.hub.docker.com/u/michilu/timecard-rails/dockerfile/ – user2915097 2015-02-11 07:22:33
作爲一個解決方法,這裏是我做的: docker run --name app -d - w/src -p 3000:3000 image_name/root/ruby/rails s 但是,我會查看入口點併發送更新。 – Jason 2015-02-11 17:42:37