【发布时间】:2015-01-06 10:19:59
【问题描述】:
这是我的 Dockerfile,它尝试使用 Phusion Passenger 设置 Nginx,然后安装 Ruby。
# Build command: docker build --force-rm --tag="rails" .
# Run command: docker run -P -d rails
FROM ubuntu:14.04
ENV DEBIAN_FRONTEND noninteractive
# Install nginx and passenger
RUN sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 561F9B9CAC40B2F7
RUN sudo sudo apt-get install -yf apt-transport-https ca-certificates
RUN sudo echo 'deb https://oss-binaries.phusionpassenger.com/apt/passenger trusty main' > /etc/apt/sources.list.d/passenger.list
RUN sudo chown root: /etc/apt/sources.list.d/passenger.list
RUN sudo chmod 600 /etc/apt/sources.list.d/passenger.list
RUN sudo apt-get update
RUN sudo apt-get install -yf nginx-extras passenger
RUN sudo service nginx restart
# Install rbenv and ruby
RUN sudo apt-get install -yf git autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm3 libgdbm-dev curl
RUN git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
RUN git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
RUN echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
RUN echo 'eval "$(rbenv init -)"' >> ~/.bashrc
RUN /root/.rbenv/plugins/ruby-build/install.sh
ENV PATH /root/.rbenv/bin:$PATH
RUN rbenv install 2.1.5
RUN rbenv global 2.1.5
EXPOSE 80
基本上,我可以很好地构建映像,但我无法从该映像启动容器。
这是我第一次使用docker,所以我怀疑我需要使用CMD指令,但我不知道应该在那里执行什么命令。
感谢任何帮助指出我的 Dockerfile 出了什么问题。
【问题讨论】:
-
我无法从此图像启动容器是什么意思?您收到错误消息吗?如果有,是哪一个?你如何尝试启动容器? …?
-
我没有收到任何错误消息。我通过 docker run -P -d image_id 启动容器。容器刚启动后的状态是Exited (0)。
-
是的,您没有收到错误消息,因为一切正常 :) 我已经添加了答案。
标签: docker dockerfile