我最近繼承了被配置爲在開發中使用泊塢運行Rails項目。這是第一次使用Docker,雖然我覺得它應該很容易,但我無法讓它工作。泊塢窗構成的卷造成錯誤:集裝箱命令找不到或不存在
當我嘗試運行碼頭工人,組成了輸出爲:
Creating projectmyapp_db_1
Creating projectmyapp_bundle_1
Creating projectmyapp_web_1
ERROR: Container command not found or does not exist.
的內容我docker-compose.yml
:
db:
build: ./docker_db
web:
build: .
command: ./script/start
volumes:
- .:/myapp
ports:
- "3000:3000"
links:
- db
volumes_from:
- bundle
bundle:
image: busybox
volumes:
- /bundle
在調試過程中,我設法將它縮小到卷線我的web容器。如果我註釋掉- .:/myapp
線泊塢窗,構成了命令完成罰款。我可以訪問該網站在泊塢窗機的IP地址,但是更改到現場反映我必須完全重建它,我假設就是安裝在當前目錄的體積是容器。
的Dockerfile在我的主要應用內容:
FROM ruby:2.2.2
RUN apt-get update -qq && apt-get install -y build-essential locales libpq-dev nodejs git postgresql-client-9.4 imagemagick libmagickwand-dev libreadline6 libreadline6-dev graphviz less
RUN echo "ar_SA.UTF-8 UTF-8\nen_GB.UTF-8 UTF-8" >> /etc/locale.gen && locale-gen
RUN localedef -i ar_SA -c -f UTF-8 -A /usr/share/locale/locale.alias ar_SA.UTF-8
RUN localedef -i en_GB -c -f UTF-8 -A /usr/share/locale/locale.alias en_GB.UTF-8
ENV LC_ALL en_GB.UTF-8
ENV LANG en_GB.UTF-8
ENV LANGUAGE en_GB.UTF-8
RUN mkdir -p /myapp/config
WORKDIR /myapp
ADD Gemfile /myapp/Gemfile
ADD Gemfile.lock /myapp/Gemfile.lock
ADD config/database.yml.docker /myapp/config/database.yml
ENV BUNDLE_PATH /bundle
ADD . /myapp
CMD rails s -b 0.0.0.0
泊塢窗 - 版本的結果是:
Docker version 1.10.2, build c3959b1
我也發現這個類似的問題在這裏:Issue with docker compose: container command not found但不覺得這是同樣的解決方案。
任何幫助將是非常讚賞 - 而我有我的頭周圍泊塢窗的基礎知識,現在我似乎無法得到這個問題的底部。
拋出的錯誤似乎是從這裏的碼頭工人來源:https://github.com/docker/docker/blob/df2b74188ec51422e84ec1dbdc58abf08c215019/api/client/run.go#L56
我改變了命令'/ MYAPP /腳本/ start'並刪除了'ADD。/myapp'行來自Dockerfile,但錯誤仍然相同。進行修改後,我運行了'docker-compose build'和'docker-compose up',還有什麼我需要運行的? – stuartbates
你有這個'/ script/start'文件嗎?內容是什麼?如果你不大可能刪除這個命令行。 –
感謝您的回覆 - 我做的內容很簡單:http://pastebin.com/B5P03je3 – stuartbates