Перше, що ти не можеш запустити
docker run "existing container" command
Оскільки ця команда очікує зображення, а не контейнер, і в будь-якому випадку це призведе до породження нового контейнера (не того, якого ви хотіли переглянути)
Я погоджуюся з тим, що з docker ми повинні змусити себе мислити по-іншому (тому ви повинні знайти способи, щоб вам не потрібно було входити в контейнер), але я все-таки вважаю це корисним, і ось як я працюю навколо нього.
Я запускаю свої команди через супервізор в режимі DEAMON.
Тоді я виконую те, що я називаю docker_loop.sh
. Вміст приблизно такий:
#!/bin/bash
/usr/bin/supervisord
/usr/bin/supervisorctl
while ( true )
do
echo "Detach with Ctrl-p Ctrl-q. Dropping to shell"
sleep 1
/bin/bash
done
Що це робить, це те, що дозволяє "приєднати" до контейнера і представити supervisorctl
інтерфейс для зупинки / запуску / перезавантаження та перевірки журналів. Якщо цього не повинно вистачити, ви можете, Ctrl+D
і ви потрапите в оболонку, яка дозволить вам зазирнути, ніби це була звичайна система.
ЗАБУДУЙТЕ ТАКОЖ ВІДПОВІДАТИСЯ НА РОЗВИТОК, що ця система не настільки безпечна, як контейнер без оболонки, тому вживайте всіх необхідних заходів, щоб закріпити контейнер.
docker run CONTAINER
планується в 1.0