Первое, что вы не можете запустить
docker run "existing container" command
Потому что эта команда ожидает изображение, а не контейнер, и это в любом случае приведет к появлению нового контейнера (поэтому не тот, на который вы хотели посмотреть)
Я согласен с тем фактом, что с докером мы должны заставить себя думать по-другому (поэтому вы должны найти способы, чтобы вам не нужно было входить в контейнер), но я все же считаю это полезным, и именно так я работаю вокруг него.
Я запускаю свои команды через супервизора в режиме 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