2017-07-12 77 views
0

我試圖建立泊塢窗容器並啓動服務器。當我們使用docker build -t . test成功創建容器時。當我們開始與docker run -d -p 3000:3000 --name railsserver test其開始退出狀態0的容器,但不能看到任何處理或任何打開的端口3000碼頭工人無法啓動荷蘭國際集團退出紅寶石

docker ps -a

CONTAINER ID  IMAGE    COMMAND     CREATED    STATUS      PORTS    NAMES 
da70e26109b3  foodex    "irb"     40 seconds ago  Exited (0) 22 seconds ago      admiring_heyrovsky 
73d4a7ca58d0  foodex    "irb"     About a minute ago Created           jolly_ramanujan 
4594ad5ea4ce  foodex    "irb"     6 minutes ago  Exited (0) 6 minutes ago       tender_murdock 

Dockerfile

FROM ruby 
RUN apt-get update -qq && apt-get install -y \ 
    build-essential libpq-dev nodejs mysql-client libmysqlclient-dev ssh 
RUN mkdir -p /foodex/ 
WORKDIR /foodex/ 
ADD Gemfile Gemfile.lock/
RUN bundle install 
#RUN source ~/.bashrc 
EXPOSE 3000 
RUN bundle exec rails s -p 3000 -b '0.0.0.0' 
ADD . /foodex/ 
+1

請提供Dockerfile – Rawkode

+0

紅寶石 運行apt-get更新-qq &&的apt-get安裝-y建立必要的libpq-dev的的mysql的NodeJS的客戶端的libmysqlclient-dev的SSH RUN MKDIR -p/FOODEX/ WORKDIR/FOODEX/ ADD的Gemfile Gemfile.lock的/ RUN束安裝 #RUN源的〜/ .bashrc EXPOSE 3000 RUN束EXEC導軌S - P m 3000 - b'0.0.0.0' ADD。/FOODEX/ –

+0

搬運工運行-p 3000:3000 FOODEX -d 0.0.0.0 container_linux.go:262:啓動容器過程中造成 「EXEC:\」 - d \ 「:$ PATH中未找到可執行文件」 泊塢窗:錯誤從守護響應:OCI運行時錯誤:container_linux.go:262:啓動容器過程中造成 「EXEC:\」 - d \ 「:$ PATH中未找到可執行文件」。 ERRO等待容器[0000]錯誤:上下文取消 –

回答

0

更新您的Dockerfile是:

FROM ruby 
RUN apt-get update -qq && apt-get install -y \ 
    build-essential libpq-dev nodejs mysql-client libmysqlclient-dev ssh 
COPY ./ /foodex/ 
WORKDIR /foodex/ 
RUN bundle install 
EXPOSE 3000 
CMD ["bundle", "exec", "rails", "s", "-p", "3000", "-b", "'0.0.0.0'"] 

,並繼續使用相同buildrun命令你上面有:

docker build -t test . 
docker run -d -p 3000:3000 --name railsserver test 

你有問題,是你bundle exec rails s命令來運行服務器,構建過程中執行,由RUN。應推遲到容器執行與CMD

相關問題