2014-04-05 2 views
14

Дано:Start автоматически Sshd с Docker контейнера

  • контейнер на основе Ubuntu: 13.10
  • установлен SSH (через apt-get install ssh)

Проблема: каждый, когда я начинаю контейнер я должен работать SSHd service ssh start

Пробный: update-rc.d ssh defaults, но это не помогает.

Вопрос: как настроить контейнер для запуска службы sshd автоматически во время запуска контейнера?

+3

Временно решена путем добавления соответствующей строки в '/ и т.д./bash.bashrc'. Но это уродливо, ИМХО. –

ответ

-4

Вы можете попробовать более элегантный способ сделать это с Phusion/baseimage-докер

https://github.com/phusion/baseimage-docker#readme

+8

Это действительно не отвечает на поставленный вопрос. Это боковой канал для получения контейнера Docker с запуском 'sshd', а не для запуска' sshd' автоматически в контейнере Docker. Бесполезно для людей, которые не могут изменить изображение, на которое они наследуют. – dfarrell07

1

Возможно, вы можете запустить ssh-сервер при запуске своего контейнера. Что-то вроде этого:

docker run ubuntu /usr/sbin/sshd -D 

Проверить это official tutorial.

+2

Он запустит новый контейнер. как запустить существующий контейнер и автозапуск sshd? – hellojinjie

+0

Теперь вы можете запустить sshd с помощью docker exec - https://docs.docker.com/reference/commandline/cli/#exec –

10

Просто попробуйте:

ENTRYPOINT service ssh restart && bash 

в вашем dockerfile, это работает удовольствие для меня!

более подробно здесь: How to automatically start a service when running a docker container?

+0

попробуйте здесь http://stackoverflow.com/questions/25135897/how-to-automatic-start-a-service-when-running-a-docker-container/32179054#32179054 – Jia

0

Ну, я использовал следующую команду, чтобы решить, что

docker run -i -t mycentos6 /bin/bash -c '/etc/init.d/sshd start && /bin/bash' 
Смежные вопросы