2015-09-26 5 views
0

Я делаю Синатры App внутри контейнера, но всякий раз, когда я хочу, чтобы увидеть изменения, которые я должен снять и запустить:Могу ли я перезапустить контейнер докеров из контейнерного терминала?

docker restart <container_ID>

, чтобы увидеть изменения.

Есть ли способ, чтобы я мог перезапустить докер изнутри, чтобы увидеть изменения?

Я клонировали https://github.com/tcnksm-sample/docker-sinatra.git

Сложение sudo docker build -t sinatra .

Run контейнер sudo docker run -d -p 4567:4567 sinatra

Введите контейнерный терминал sudo docker exec -it <container_ID> bash

Измененный файл app.rb, но ничего не изменилось на http://localhost:4567, Так я отделяться от контейнер и побежал docker restart <container_ID>, чтобы увидеть изменения. Поскольку я собираюсь изменить app.rb alot Это так неудобно для каждого раза, когда я меняю что-то, что мне нужно отсоединить и запустить docker restart <container_ID>

+0

Какой контейнер вы используете? Как выглядит Dockerfile? как вы управляете синатрой? Вы должны дать нам _something_ для работы с ;-) – mhutter

ответ

0

Вам не нужно перезапускать все механизмы докеров.

Если Dockerfile вытащить изменения из репозитория, и переделывать bundle install, как в this Dockerfile, все, что вам нужно сделать, будет, как и in this example:

# on docker server or the same machine 
$ sudo docker stop container-id 
$ sudo docker pull luisbebop/docker-sinatra-hello-world 
$ sudo docker run -d -p 5000:5000 luisbebop/docker-sinatra-hello-world 
+0

что делать, если я хочу изменить файл ruby, чтобы создать собственное приложение? Не следует ли прикрепить контейнерный терминал, а затем изменить файл server.rb и увидеть изменения? все в контейнерном терминале –

+0

@abdelrahmankhaled лучше остановить, перестроить и перезапустить контейнер, чтобы обеспечить воспроизводимость. Если вы изменяете непосредственно из сеанса bash exec docker, эти изменения будут потеряны после того, как контейнер остановится и будет удален. – VonC

+0

@abdelrahmankhaled мой ответ стоит в отношении вашего файла Docker: https://github.com/tcnksm-sample/docker-sinatra/blob/9afef691a93593db30960a4c49958396fce7701b/Dockerfile#L18-L19 – VonC

Смежные вопросы