2015-08-14 1 views
0

Я новичок в докеров, и я посмотрел это, но ни один из гидов не дал понять.Как создать изображение и запустить его локально?

У меня есть базовое приложение 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" 

Но что теперь? Я могу запустить приложение Sinatra локально, запустив bundle exec rackup, но как я могу запустить его через докер, используя вышеприведенные настройки, чтобы я мог тестировать и моделировать, как это будет выглядеть на производстве?

+0

Я могу запустить его локально, просто используя 'docker-compose up'. – cilphex

ответ

0

Запуск контейнера с командой Docker:

Первый, построить его:

$ docker build -t yourimagename . 

Затем запустите его с помощью докер:

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

Использование Докер-Compose. Build & Начало

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