如何创建图像并在本地运行?

时间:2015-08-14 00:51:27

标签: docker sinatra

我是码头工的新手,我已经看了这个,但没有一个指南说清楚。

我有一个基本的Sinatra应用程序。在其根目录中,我有一个Dockerfile

FROM <my_quay_ruby_image> # Supplied for me by someone else
USER root

RUN mkdir /app
WORKDIR /app

COPY Gemfile* /app/

RUN bundle install

COPY . /app/

USER myuser

EXPOSE 9898

我还有docker-compose.yml

redis:
  image: <my_quay_redis_server_url> # Supplied for me by someone else

web:
  build: .
  ports:
    - <my_port>
  links:
    - "redis:redis"
  command: bash -c "sleep 10; bundle exec rackup"

但现在呢?我可以通过运行bundle exec rackup在本地运行我的Sinatra应用程序,但是如何使用上面的设置通过docker运行它,以便我可以测试和模拟生产中的内容?

1 个答案:

答案 0 :(得分:0)

使用docker命令运行容器:

首先,建立它:

$ docker build -t yourimagename .

然后,使用docker:

启动它
$ docker run -d \ 
    --name yourcontainername \
    yourimagename \
    bash -c "sleep 10; bundle exec rackup"

使用docker-compose。建设与发展开始吧:

$ docker-compose -f docker-compose.yml build
$ docker-compose -d -f docker-compose.yml up