docker – La forma correcta de mantener el contenedor de la ventana acoplable iniciado cuando se usa para tareas periódicas

Pregunta:

Tengo un contenedor docker con software instalado y configurado.

Se supone que no hay ningún programa que deba iniciarse / ejecutarse todo el tiempo.

Lo que quiero: su capacidad para iniciar algún comando en función de eventos externos. me gusta:

docker exec mysupercont /path/to/mycommand -bla -for

y

docker exec mysupercont /path/to/myothercommand 

Pero "exec" es imposible cuando el contenedor está detenido, y también este contenedor tiene algunos datos "en funcionamiento" dentro, que se usan para esos comandos, por lo que no puedo usar

docker run ...

cada vez, porque recrea el contenedor a partir de la imagen y destruye mis datos.

¿Cuál es la forma "correcta" y "mejor" de mantener ese contenedor en funcionamiento? ¿Qué comando puedo empezar por dentro?

Respuesta:

No es necesario realizar la ejecución cada vez que se docker run .

docker run es en realidad una secuencia de dos comandos: "crear" e "iniciar".

Cuando ejecuta el contenedor, debe especificar el " -it ":

-i, –interactive = false Mantener STDIN abierto incluso si no está adjunto
-t, –tty = false Asignar un pseudo-TTY

Ejemplo:

docker run -it debian:stable bash

Después de que se completó el trabajo, el comando especificado al inicio (en mi ejemplo, bash). Por ejemplo, realiza la "salida". Paradas de contenedores:

CONTAINER ID        IMAGE                      COMMAND                CREATED             STATUS                     PORTS               NAMES
1329c99a831b        debian:stable              "bash"                 51 seconds ago      Exited (0) 1 seconds ago                       goofy_bardeen

Ahora puedes empezar de nuevo

docker start 1329c99a831b

El contenedor se inicia y vuelve a ejecutar el comando "bash".
Conéctese a esta sesión "bash" con el comando

docker attach 1329c99a831b

En resumen : debe comprender la diferencia entre el contenedor de run y el de start .
Además, mire en la documentación el rol de los parámetros " -it " y " -d " para "Ejecutar"

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım