Cómo instalar, ejecutar y eliminar aplicaciones dentro de los contenedores Docker - Parte 2

Cómo instalar, ejecutar y eliminar aplicaciones dentro de los contenedores Docker - Parte 2

Siguiendo el anterior Estibador Artículo, este tutorial discutirá cómo guardar un contenedor Docker en una nueva imagen, eliminar un contenedor y ejecutar un Nginx servidor web dentro de un contenedor.

Requisitos

  • Cómo instalar Docker y ejecutar contenedores en CentOS/RHEL 8/7 - Parte 1

Cómo ejecutar y guardar un contenedor Docker

1. En este ejemplo, ejecutaremos y guardaremos un Basado en Ubuntu Container Docker donde el nginx Se instalará el servidor. Pero antes de cometer cualquier cambio en un contenedor, primero inicie el contenedor con los comandos a continuación que actualiza e instala Nginx Daemon en la imagen de Ubuntu:

# Docker Run Ubuntu Bash -C "Apt -Get -y Update" # Docker Run Ubuntu Bash -C "APT -GET -Y Install Nginx" 
Instale Nginx en el contenedor de Ubuntu Docker

Si recibe error 'E: No se puede localizar el paquete Nginx', luego debe conectarse a un contenedor con CLI interactiva e instalar Nginx como se muestra.

# Docker Run -it Ubuntu bash # apt install nginx # salir 

2. Luego, después Nginx Se instala el paquete, emita el comando Docker PS -L para obtener el IDENTIFICACIÓN o nombre del contenedor en ejecución.

# Docker PS -L 
Encontrar el nombre de la identificación del contenedor de Docker

Y aplique los cambios ejecutando el siguiente comando:

# Docker Commit 5976E4AE287C Ubuntu-Nginx 

Aquí, 5976E4AE287C representa el contenedor IDENTIFICACIÓN y ubuntu-nginx representa el nombre de la nueva imagen que se ha guardado con cambios comprometidos.

Para ver si la nueva imagen se ha creado con éxito, solo se ejecuta Imágenes de Docker Se mostrará el comando y una lista de todas las imágenes guardadas.

# Imágenes de Docker 
Cambios en el contenedor de Docker

Lo más probable es que el proceso de instalación dentro del contenedor termine rápidamente, lo que conduce a un contenedor que no es de manejo (se detiene el contenedor). En este caso el Docker PS El comando no mostrará ninguna salida porque ningún contenedor se está ejecutando.

Para poder seguir ejecutando la identificación del contenedor Docker PS -A | Cabeza -3 Para producir los contenedores más recientes e identificar el contenedor en función del comando emitido para crear el contenedor y el estado salido.

3. Alternativamente, puede ingresar activamente las sesiones de contenedores ejecutando Docker Run -it Ubuntu Bash comandar y ejecutar más apt-get install nginx dominio. Mientras el comando se ejecuta, se separe del contenedor usando CTRL-P + CTRL-Q Las teclas y el contenedor continuarán funcionando incluso si el proceso de instalación de NGINX termina.

# Docker Run -it Ubuntu bash # apt -get install nginx 
Instale Nginx en Docker Container

Luego, obtenga la identificación del contenedor en ejecución con Docker PS y confirmar cambios. Cuando termine, vuelva a ingresar a la consola de contenedores usando acoplador y escribir salida para detener el contenedor.

# Docker PS # Docker Adjunto 3378689f2069 # Salida 
Adjuntar contenedor Docker

4. Para probar si la imagen reciente se ha cometido correctamente (en este caso Nginx Se ha instalado el servicio), ejecute el siguiente comando para generar un nuevo contenedor que saldrá si Nginx Binary se instaló correctamente:

# Docker Run Ubuntu-Nginx Whereis Nginx 
Generar un nuevo contenedor Docker

5. Para eliminar un contenedor, use el RM comando contra una identificación o nombre de contenedor, que se puede obtener usando Docker PS -A dominio:

# Docker PS -A # Sudo Docker RM 364888523933a 
Eliminar el contenedor Docker

Cómo ejecutar nginx dentro del contenedor Docker

6. En esta parte nos concentraremos en cómo puede ejecutar y acceder a un servicio de red, como un Nginx servidor web, interior Docker, utilizando el ubuntu-nginx Imagen creada anteriormente donde se instaló el demonio nginx.

Lo primero que debe hacer es crear un nuevo contenedor, asignar puertos de contenedor de host e ingresar el shell de contenedores emitiendo el siguiente comando:

# Docker Run -it -P 81:80 Ubuntu -nginx /bin /bash # nginx & 

Aquí el -pag La opción expone el puerto host al puerto de contenedor. Si bien el puerto de host puede ser arbitrario, con la condición de que debe estar disponible (ningún otro servicio de host debe escucharlo), el puerto del contenedor debe ser exactamente el puerto que el Daemon Inside está escuchando.

Una vez que esté conectado a la sesión de contenedores, comience Nginx demonio en el fondo y separar de la consola de contenedores presionando CTRL-P + CTRL-Q llaves.

Ejecute nginx dentro del contenedor Docker

7. Ahora, corre Docker PS Para obtener el estado de su contenedor en ejecución. También puede ver los enchufes de la red host emitiendo el siguiente comando:

# docker ps o # netstat -tlpn 
Ver el estado de ejecución del contenedor Docker

8. Para visitar la página servida por el contenedor Nginx, abra un navegador desde una ubicación remota en su LAN y escriba la dirección IP de su máquina utilizando el Protocolo HTTP.

Verifique NGINX Running en Container Docker

9. Para detener el contenedor, ejecute el siguiente comando seguido de ID de contenedor o nombre:

# docker ps # docker stop fervent_mccarthy # docker ps 
Deja de ejecutar el contenedor Docker

Como alternativa para detener el contenedor en ejecución, ingrese el símbolo del sistema de shell del contenedor y escriba la salida para finalizar el proceso:

# Docker adjunte fervent_mcCarthy # Salir 

Tenga en cuenta que el uso de este tipo de contenedor para ejecutar servidores web u otros tipos de servicios es más adecuado solo para fines de desarrollo o pruebas debido al hecho de que los servicios solo están activos mientras el contenedor se está ejecutando. Salir el contenedor interrumpe todos los servicios en ejecución o cualquier cambio realizado.

Otras lecturas:

Parte 3: Construir y configurar automáticamente las imágenes de Docker con DockerFile en CentOS/RHEL 8/7 Parte 4: Cómo monitorear los contenedores Docker en Linux