La première chose que vous ne pouvez pas exécuter
docker run "existing container" command
Parce que cette commande attend un image et non un conteneur et il en résulterait de toute façon la création d'un nouveau conteneur (donc pas celui que vous vouliez regarder).
Je suis d'accord avec le fait qu'avec Docker nous devrions nous pousser à penser d'une manière différente (donc vous devriez trouver des moyens pour ne pas avoir besoin de vous connecter au conteneur), mais je le trouve toujours utile et voici comment je le contourne.
J'exécute mes commandes via le superviseur en mode DEAMON.
Ensuite, j'exécute ce que j'appelle docker_loop.sh
Le contenu est à peu près le suivant :
#!/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
Ce qu'il fait, c'est qu'il vous permet de vous "attacher" au conteneur et d'être présenté avec les supervisorctl
pour arrêter/démarrer/redémarrer et vérifier les journaux. Si cela ne suffit pas, vous pouvez Ctrl+D
et vous entrerez dans un shell qui vous permettra de jeter un coup d'oeil comme s'il s'agissait d'un système normal.
VEUILLEZ ÉGALEMENT TENIR COMPTE du fait que ce système n'est pas aussi sûr que le fait d'avoir le conteneur sans coque. Prenez donc toutes les mesures nécessaires pour sécuriser votre conteneur.
1 votes
docker run CONTAINER
est prévue dans la version 1.07 votes
Depuis la version 1.3 de Docker, vous devriez vraiment faire ce qui est décrit dans la section cette réponse
1 votes
Juste
docker attach container_name
1 votes
Il semble que la deuxième réponse soit aujourd'hui bien meilleure que la réponse acceptée - pourriez-vous reconsidérer la modification de la réponse acceptée ?
0 votes
J'ai proposé une commande séparée
docker shell
github.com/moby/moby/issues/41702