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
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 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