Ejecute Docker Container como un servicio en Ubuntu

Ejecute Docker Container como un servicio en Ubuntu
A medida que discutimos la implementación de Docker Container como un servicio en Ubuntu, puede iniciar automáticamente, detener, verificar el estado y administrar un contenedor como un servicio Systemd colocando un archivo de unidad basado en el sistema en su máquina host. Las razones para ejecutar Systemd dentro de una máquina son:

Muchos usuarios desean eliminar las aplicaciones múltiples actuales de las máquinas virtuales y ejecutarlas en contenedores para muchos servicios. Quieren que estas aplicaciones se dividan en microservicios; Sin embargo, algunas personas no pueden o no tienen tiempo. Tiene sentido operarlos a medida que los servicios se ejecutan desde los archivos de la unidad Systemd.

Archivos de la unidad del sistema: la mayoría de los programas que se ejecutan dentro de los contenedores están hechos de VM o código de host. Estas aplicaciones tienen un archivo de unidad preparado para la aplicación y comprenden la ejecución del programa. Es mejor que piratear sus propios servicios de inicio para lanzar el servicio utilizando la forma compatible.

Que es Docker?

Docker tiene como objetivo ayudar a los ingenieros y equipos a ser más productivos y menos susceptibles a los errores. El establecimiento e implementación de nuevos proyectos con Docker es más fácil y más eficiente en el tiempo.

Considere un escenario en el que se instala su sistema operativo Windows, y su aplicación debe implementarse y probarse en un sistema operativo separado: Fedora, CentOS y Ubuntu. Qué vas a hacer? ¿Quieres poner todo esto en tu computadora portátil?? ¿Es extremadamente sencillo??

Considere un caso en el que tenga que usar varias versiones de Python de la aplicación, por ejemplo, Python 3.2, Python 3.8, etc., y varias combinaciones de servidor web como Nginx y Apache. Qué vas a hacer? Es donde Docker te va a salvar.

Docker es una plataforma de contenedorización que le permite agrupar su programa, y ​​es un contenedor Docker que garantiza que funcione sin problemas en cada entorno.

Así que digamos que usas Ubuntu 20.02 y Python 3.2 para implementar/construir su aplicación. Puede construir una imagen de Docker para ejecutar código en un contenedor Docker que contiene un archivo de múltiples capas.
Una imagen de Docker está disponible para la ejecución correcta de su proyecto, con bibliotecas de sistemas, herramientas, archivos y cualquier otra dependencia.

Ejecutar el contenedor Docker como servicio

Digamos que el nombre de su aplicación es 'x.'Para ejecutar el contenedor de la aplicación como servicio utilizando system, Cree el siguiente archivo de servicio en el directorio de/systemd/sistema con nombres como
'estibador.algún_name.servicio' :

[Unidad]
Descripción = x Contenedor
Después = Docker.servicio
Deseos = network-online.Docker objetivo.enchufe
Requiere = Docker.enchufe
[Servicio]
Reiniciar = siempre
Execstart =/usr/bin/docker start -a some_name
Execstop =/usr/bin/Docker stop -t 10 some_name
[Instalar]
Wantedby = Multi-user.objetivo

La unidad de archivo genera un nuevo servicio y asigna las instrucciones de inicio y deja de acoplar a las secuencias de inicio y detener el servicio del servicio.

Para habilitar el servicio con arranque del sistema, use:

SystemCTL Habilitar Docker.algún_name

Use los siguientes comandos para detener e iniciar el servicio manualmente en cualquier momento:

SUDO Service Docker.algo_name parar
SUDO Service Docker.Some_name Start

Conclusión

Mostramos un enfoque para implementar contenedores Docker como system Servicios en Ubuntu en este artículo. Es una alternativa simple a otras herramientas para la orquestación de contenedores. Podemos usar Docker en varias tareas relacionadas con el desarrollo y las pruebas de nuestra aplicación. Mejora la fase de prueba de nuestra aplicación. Podemos usarlo para administrar versiones para todo el sistema operativo de su aplicación. Otro uso de Docker es colaborar con un equipo para el sistema operativo de su aplicación. También puede ejecutar su código de computadora portátil en el mismo entorno que su servidor usando Docker.