Geekflare recibe el apoyo de nuestra audiencia. Podemos ganar comisiones de afiliación de los enlaces de compra en este sitio.
En DevOps Última actualización: 25 de septiembre de 2023
Compartir en:
Escáner de seguridad de aplicaciones web Invicti - la única solución que ofrece verificación automática de vulnerabilidades con Proof-Based Scanning™.

Mientras trabaja en proyectos Docker, la mayoría de las veces, las imágenes Docker existentes no cumplirán sus requisitos.

Aquí es donde Dockerfile entra en escena; le ayudará a crear imágenes Docker personalizadas. Por lo tanto, conocer Dockerfile es esencial.

¿Qué es Dockerfile?

Es un simple archivo de texto con un conjunto de comandos o instrucciones. Estos comandos/instrucciones se ejecutan sucesivamente para realizar acciones sobre la imagen base para crear una nueva imagen Docker.

los comentarios y los argumentos de los comandos son dos tipos de bloques de línea principal en la sintaxis de Dockerfile

Sintaxis de comentarios

#Bloques de línea utilizados para comentarios

comando argumento argumento1 .....

Comandos Argumentos Ejemplo

#Bloques de línea utilizados para comentar

comando argumento argumento1 .....

A continuación se muestra cómo será su flujo de trabajo.

  • Cree un Dockerfile y mencione las instrucciones para crear su imagen docker
  • Ejecute el comando docker build que creará una imagen docker
  • Ahora la imagen docker está lista para ser utilizada, utilice el comando docker run para crear contenedores

flujo de trabajo dockerfile

Comandos básicos

DE - Defina la imagen base a utilizar e inicie el proceso de construcción.

EJECUTAR - Tome el comando y sus argumentos para ejecutarlo desde la imagen.

CMD - Función similar al comando RUN, pero se ejecuta sólo después de instanciar el contenedor.

PUNTO DE ENTRADA - Se dirige a su aplicación por defecto en la imagen cuando se crea el contenedor.

AÑADE Copie los archivos del origen al destino (dentro del contenedor).

ENV - Establece variables de entorno.

¿Cómo crear una imagen Docker con un Dockerfile?

En primer lugar, vamos a crear un Dockerfile.

geekflare@geekflare:~$ gedit Dockerfile

Ponga en él los siguientes comandos/instrucciones y guárdelo.

# Establezca la imagen base en Ubuntu
FROM ubuntu

# Actualice la lista de fuentes del repositorio e instale gnupg2
EJECUTE apt-get update && apt-get install -y gnupg2

# Añada la clave de verificación del paquete
EJECUTE apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

# Añada MongoDB a la lista de fuentes del repositorio
RUN echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' > tee /etc/apt/sources.list.d/mongodb.list

# Actualice la lista de fuentes del repositorio
EJECUTE apt-get update

# Instale el paquete MongoDB (.deb)
EJECUTE apt-get install -y mongodb

# Cree el directorio de datos por defecto
EJECUTE mkdir -p /data/db

# Exponga el puerto por defecto
EXPOSE 27017

# Puerto por defecto para ejecutar el punto de entrada (MongoDB)
CMD ["--port 27017"]

# Establezca el comando por defecto del contenedor
PUNTO DE ENTRADA usr/bin/mongodb

En este Dockerfile, ubuntu se establece como imagen base. A continuación, se mencionan los comandos y argumentos necesarios para instalar MongoDB. El puerto 27017 se expone a MongoDB con el comando contenedor por defecto como usr/bin/mongodb

A continuación, lo ejecutaré para crear una imagen Docker.

Ejecutando un Dockerfile

El siguiente comando creará una imagen docker llamada geekflare_mongodb después de ejecutarse correctamente.

geekflare@geekflare:~$ docker build -t geekflare_mongodb .

Sending build context to Docker daemon 667.2MB

Paso 1/9 : DESDE ubuntu

latest: Pulling from library/ubuntu

7413c47ba209: Pull completo

0fe7e7cbb2e8: Pull complete

1d425c982345: Pull complete

344da5c95cec: Pull completo

Digest: sha256:c303f19cfe9ee92badbbbd7567bc1ca47789f79303ddcef56f77687d4744cd7a

Estado: Downloaded newer image for ubuntu:latest

--->
 3556258649b2

Paso 2/10 : EJECUTE apt-get update && apt-get install -y gnupg2

--->
 Ejecutándose en de3706328761

Get:1 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]

Get:2 http://archive.ubuntu.com/ubuntu bionic InRelease [242 kB]

Obtenido 16.9 MB en 38s (445 kB/s)

Leyendo listas de paquetes...

Leyendo listas de paquetes...

Construyendo árbol de dependencias...

Leyendo información de estado...

Necesita obtener 5187 kB de archivos.

Después de esta operación, 15.8 MB de espacio adicional en disco serán utilizados.

Get:1 http://archive.ubuntu.com/ubuntu bionic/main amd64 readline-common all 7.0-3 [52.9 kB]

Get:2 http://archive.ubuntu.com/ubuntu bionic/main amd64 libreadline7 amd64 7.0-3 [124 kB]

Get:3 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libsqlite3-0 amd64 3.22.0-1ubuntu0.1 [497 kB]

Get:4 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libssl1.1 amd64 1.1.1-1ubuntu2.1~18.04.4 [1300 kB]

debconf: retrasando la configuración de paquetes, ya que apt-utils no está instalado

Fetched 5187 kB in 12s (416 kB/s)

Seleccionando paquete no seleccionado previamente readline-common.

(Leyendo base de datos ... 4040 archivos y directorios instalados actualmente.)

Preparando para desempaquetar .../00-readline-common_7.0-3_all.deb ...

Desempaquetando readline-common (7.0-3) ...

Seleccionando el paquete no seleccionado previamente libreadline7:amd64.

Preparándose para desempaquetar .../01-libreadline7_7.0-3_amd64.deb ...

Seleccionando el paquete no seleccionado previamente dirmngr.

Instalando libnpth0:amd64 (1.5-3) ...

Instalando libksba8:amd64 (1.3.5-2) ...

Instalando gnupg-l10n (2.2.4-1ubuntu1.2) ...

Procesando triggers para libc-bin (2.27-3ubuntu1) ...

Eliminando el contenedor intermedio de3706328761

--->
 a32533894ed1

Paso 3/10 : EJECUTAR apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

--->
 Ejecutando en 69c4dba38983

Advertencia: la salida de apt-key no debe ser analizada (stdout no es un terminal)

Ejecutando: /tmp/apt-key-gpghome.MuT5BDWwKZ/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

gpg: clave 5F8F93707F0CEB10: clave pública "Totally Legit Signing Key <mallory@example.org>" importada

gpg: clave 9ECBEC467F0CEB10: 1 firma no comprobada debido a que falta una clave

gpg: clave 9ECBEC467F0CEB10: clave pública "Richard Kreuter <richard@10gen.com>" importada

gpg: Número total procesado: 2

gpg: importado: 2

Eliminando contenedor intermedio 69c4dba38983

--->
 cffbe06c1b50

Paso 4/10 : RUN echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' > tee /etc/apt/sources.list.d/mongodb.list

--->
 Ejecutando en 40630fd7b0a9

Eliminando contenedor intermedio 40630fd7b0a9

--->
 a1bd9d8d7e51

Paso 5/10 : EJECUTAR apt-get update

--->
 Ejecutando en 750717d9c0ea

Hit:1 http://archive.ubuntu.com/ubuntu bionic InRelease

Hit:2 http://archive.ubuntu.com/ubuntu bionic-updates InRelease

Hit:3 http://security.ubuntu.com/ubuntu bionic-security InRelease

Hit:4 http://archive.ubuntu.com/ubuntu bionic-backports InRelease

Lectura de las listas de paquetes...

Eliminación del contenedor intermedio 750717d9c0ea

--->
 397d6501db58

Paso 6/10 : EJECUTAR apt-get install -y mongodb

--->
 Ejecutando en 88609c005e73

Leyendo listas de paquetes...

Construyendo árbol de dependencias...

Leyendo información de estado...

Se instalarán los siguientes paquetes NUEVOS:

libboost-filesystem1.65.1 libboost-iostreams1.65.1

libboost-program-options1.65.1 libboost-system1.65.1 libgoogle-perftools4

libpcap0.8 libpcrecpp0v5 libsnappy1v5 libstemmer0d libtcmalloc-minimal4

libunwind8 libyaml-cpp0.5v5 mongo-tools mongodb mongodb-clients

mongodb-server mongodb-server-core

0 actualizados, 17 instalados recientemente, 0 para eliminar y 0 no actualizados.

Necesita obtener 53,7 MB de archivos.

Tras esta operación, se utilizarán 218 MB de espacio adicional en disco.

Get:1 http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 mongodb-clients amd64 1:3.6.3-0ubuntu1.1 [20.2 MB]

Get:2 http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 mongodb-server-core amd64 1:3.6.3-0ubuntu1.1 [20.3 MB]

Get:3 http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 mongodb-server all 1:3.6.3-0ubuntu1.1 [12.6 kB]

Get:4 http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 mongodb amd64 1:3.6.3-0ubuntu1.1 [9968 B]

Fetched 53.7 MB in 10s (5485 kB/s)

Selecting previously unselected package libpcap0.8:amd64.

(Leyendo base de datos ... 4390 archivos y directorios instalados actualmente.)

Seleccionando el paquete mongodb-clients previamente no seleccionado.

Preparándose para desempaquetar .../13-mongodb-clients_1:3.6.3-0ubuntu1.1_amd64.deb ...

Desempaquetando mongodb-clients (1:3.6.3-0ubuntu1.1) ...

Seleccionando el paquete mongodb-server-core previamente no seleccionado.

Preparándose para desempaquetar .../14-mongodb-server-core_1:3.6.3-0ubuntu1.1_amd64.deb ...

Desempaquetando mongodb-server-core (1:3.6.3-0ubuntu1.1) ...

Seleccionando el paquete mongodb-server previamente no seleccionado.

Preparándose para desempaquetar .../15-mongodb-server_1:3.6.3-0ubuntu1.1_all.deb ...

Desempaquetando mongodb-server (1:3.6.3-0ubuntu1.1) ...

Seleccionando el paquete mongodb no seleccionado previamente.

Preparando el desempaquetado de .../16-mongodb_1:3.6.3-0ubuntu1.1_amd64.deb ...

Desempaquetando mongodb (1:3.6.3-0ubuntu1.1) ...

Instalando mongodb-server-core (1:3.6.3-0ubuntu1.1) ...

Instalando mongo-tools (3.6.3-0ubuntu1) ...

Instalando mongodb-clients (1:3.6.3-0ubuntu1.1) ...

Configurando mongodb-server (1:3.6.3-0ubuntu1.1) ...

invoke-rc.d: no se pudo determinar el nivel de ejecución actual

invoke-rc.d: policy-rc.d denegó la ejecución de start.

Configurando mongodb (1:3.6.3-0ubuntu1.1) ...

Procesando triggers para libc-bin (2.27-3ubuntu1) ...

Eliminando contenedor intermedio 88609c005e73

--->
 d9c072cb1f84

Paso 7/10 : EJECUTAR mkdir -p /data/db

--->
 Ejecutando en f817778f69ab

Eliminando contenedor intermedio f817778f69ab

--->
 a3fbdb3def5c

Paso 8/10 : EXPOSE 27017

--->
 Ejecutando en 8d070e2a1e07

Eliminando contenedor intermedio 8d070e2a1e07

--->
 f770776a538c

Paso 9/10 : CMD ["--port 27017"]

--->
 Ejecutándose en ab612410df77

Eliminando contenedor intermedio ab612410df77

--->
 e5830b80934f

Paso 10/10 : ENTRYPOINT usr/bin/mongod

--->
 Ejecutándose en 95f574727aab

Eliminando contenedor intermedio 95f574727aab

--->
 095d17727ca0

Construido con éxito 095d17727ca0

Etiquetado con éxito geekflare_mongodb:latest

Comprobemos si la imagen docker se ha creado con el nombre geekflare_mongodb.

geekflare@geekflare:~$ docker images

REPOSITORIO TAG IMAGEN ID CREADO TAMAÑO

geekflare_mongodb latest 095d17727ca0 hace 3 minutos 325MB

ubuntu latest 3556258649b2 hace 4 días 64.2MB

mean_express latest 35dcb3df9806 hace 6 días 923MB

mean_angular latest 9f8d61db600c hace 6 días 1.29GB

Ejecute la imagen docker geekflare_mongodb dentro de un contenedor mongo_container.

geekflare@geekflare:~$ docker run --name mongo_container -i -t geekflare_mongodb

2019-07-27T19:38:23.734 0000 I CONTROL <x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x>[initandlisten]</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> MongoDB starting : pid=6 port=27017 dbpath=/data/db 64-bit host=b0095c1e5536

2019-07-27T19:38:23.735 0000 I CONTROL [ <x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x>initandlisten</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> <x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x>]</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> db versión v3.6.3

2019-07-27T19:38:23.735 0000 I CONTROL [ <x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x>initandlisten</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> ] git versión: 9586e557d54ef70f9ca4b43c26892cd55257e1a5

2019-07-27T19:38:23.736 0000 I CONTROL [ <x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x>initandlisten]</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> OpenSSL versión: OpenSSL 1.1.1 11 Sep 2018

2019-07-27T19:38:23.739 0000 I CONTROL [initandlisten <x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x>]</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> allocator: tcmalloc

2019-07-27T19:38:23.739 0000 I CONTROL [initandlisten <x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x>]</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> modules: none

2019-07-27T19:38:23.739 0000 I CONTROL <x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x>[initandlisten]</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> build environment:

2019-07-27T19:38:23.739 0000 I CONTROL <x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x>[initandlisten</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> <x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x>]</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> distarch: x86_64

2019-07-27T19:38:23.739 0000 I CONTROL [ <x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x>initandlisten</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> ] target_arch: x86_64

2019-07-27T19:38:23.739 0000 I CONTROL <x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x>[initandlisten</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> ] options: {}

2019-07-27T19:38:23.745 0000 I ALMACENAMIENTO [ <x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x>initandlisten</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> ] wiredtiger_open config: create,cache_size=2038M,session_max=20000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),statistics_log=(wait=0),verbose=(recovery_progress),

2019-07-27T19:38:24.733 0000 I CONTROL <x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x>[initandlisten</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> <x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x>]</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x>

2019-07-27T19:38:24.734 0000 I CONTROL <x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x>[initandlisten]</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> ** ADVERTENCIA: El control de acceso no está activado para la base de datos.

2019-07-27T19:38:24.735 0000 I CONTROL [initandlisten <x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x>]</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> ** El acceso de lectura y escritura a los datos y a la configuración no tiene restricciones.

2019-07-27T19:38:24.736 0000 I CONTROL [ <x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x>initandlisten]</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> ** ADVERTENCIA: está ejecutando este proceso como usuario root, lo cual no es recomendable.

2019-07-27T19:38:24.736 0000 I CONTROL <x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x>[initandlisten</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> <x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x>]</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x>

2019-07-27T19:38:24.736 0000 I CONTROL <x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x>[initandlisten]</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> ** ADVERTENCIA: Este servidor está vinculado a localhost.

2019-07-27T19:38:24.737 0000 I CONTROL <x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x>[initandlisten]</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> ** Los sistemas remotos no podrán conectarse a este servidor.

2019-07-27T19:38:24.737 0000 I CONTROL <x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x>[initandlisten</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> <x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x>]</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> ** Inicie el servidor con --bind_ip <dirección> para especificar de qué direcciones IP

2019-07-27T19:38:24.737 0000 I CONTROL <x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x>[initandlisten]</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> ** debe servir las respuestas, o con --bind_ip_all para

2019-07-27T19:38:24.737 0000 I CONTROL <x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x>[initandlisten]</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> ** enlazar a todas las interfaces. Si se desea este comportamiento, inicie el servidor

2019-07-27T19:38:24.738 0000 I CONTROL [ <x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x>initandlisten</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> ] ** con --bind_ip 127.0.0.1 para desactivar esta advertencia.

2019-07-27T19:38:24.738 0000 I CONTROL [ <x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x>initandlisten</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> <x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x>]</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x>

2019-07-27T19:38:24.739 0000 I ALMACENAMIENTO [ <x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x>initandlisten]</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> createCollection: admin.system.version con UUID proporcionado: 4b8b509d-633a-46c1-a302-cb8c82b0d5d3

2019-07-27T19:38:24.788 0000 I COMMAND <x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x>[in</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> itandlisten] setting featureCompatibilityVersion to 3.6

2019-07-27T19:38:24.818 0000 I ALMACENAMIENTO [ <x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x>initandlisten</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> <x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x>]</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> createCollection: local.startup_log con UUID generado: 6c1c0366-4b1b-4b92-9fcd-d18acc126072

2019-07-27T19:38:24.862 0000 I FTDC [initandlisten <x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x>]</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> Inicializando captura de datos de diagnóstico a tiempo completo con directorio '/data/db/diagnostic.data'

2019-07-27T19:38:24.866 0000 I RED [ <x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x><x>initandlisten]</x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x></x> esperando conexiones en puerto 27017

Abra un nuevo terminal y compruebe si mongo_container se está ejecutando.

geekflare@geekflare:~$ docker ps

ID DEL CONTENEDOR IMAGEN COMANDO CREADO ESTADO PORTO NOMBRES

b0095c1e5536 geekflare_mongodb "/bin/sh -c usr/bin/..." hace 35 segundos Arriba 33 segundos 27017/tcp mongo_container

Como puede ver, el contenedor creado a partir de la imagen geekflare_mongodb está funcionando.

Espero que esto le de una idea sobre dockerfile y sus beneficios. También puede consultar esta documentación sobre las mejores prácticas de Dockerfile para aprender más.

  • Avi
    Autor
    Avi es un entusiasta de la tecnología con experiencia en tecnologías de tendencia como DevOps, Cloud Computing, Big Data y muchas más. Le apasiona aprender tecnologías de vanguardia y compartir sus conocimientos con los demás a través de... Seguir leyendo
Gracias a nuestros patrocinadores
Más lecturas sobre DevOps
Potencia tu negocio
Algunas de las herramientas y servicios que le ayudarán a hacer crecer su negocio.
  • Invicti utiliza el Proof-Based Scanning™ para verificar automáticamente las vulnerabilidades identificadas y generar resultados procesables en tan solo unas horas.
    Pruebe Invicti
  • Web scraping, proxy residencial, gestor de proxy, desbloqueador web, rastreador de motores de búsqueda, y todo lo que necesita para recopilar datos web.
    Pruebe Brightdata
  • Monday.com es un sistema operativo de trabajo todo en uno que te ayuda a gestionar proyectos, tareas, trabajo, ventas, CRM, operaciones, flujos de trabajo y mucho más.
    Prueba Monday
  • Intruder es un escáner de vulnerabilidades en línea que encuentra puntos débiles de ciberseguridad en su infraestructura, para evitar costosas violaciones de datos.
    Prueba Intruder