Red de conocimiento informático - Material del sitio web - Cómo usar Dockerfile para crear una imagen

Cómo usar Dockerfile para crear una imagen

Cree una imagen usando dockerfile

Dockerfile usa la sintaxis DSL básica para crear una imagen de Docker. Luego, puede usar el comando Docker Build para crear una nueva imagen basada en el contenido especificado en el archivo Docker.

1. La forma en que Docker ejecuta los comandos en el archivo Docker es aproximadamente la siguiente:

Docker se ejecuta desde la imagen base Un contenedor

Ejecuta un comando para cambiar el contenedor

Ejecuta una operación similar a Docker commit para enviar una nueva capa de imagen

Luego, la ventana acoplable basada en la imagen recién enviada ejecuta un nuevo contenedor

Ejecute la siguiente instrucción especificada en el archivo acoplable hasta que se ejecuten todas las instrucciones.

Ejemplo:

mkdir static_web

vim Dockerfile

#version

DESDE centos6-epel

MANTENEDOR zhoufujin

EJECUTAR yum - y install httpd httpd-devel

EXPOSE 80

La primera instrucción de cada dockerfile debe ser FROM. FROM se utiliza para especificar una imagen existente. Las siguientes instrucciones se basan en esta imagen. Esta imagen se llama imagen base

Descripción del parámetro:

MANTENEDOR: Especifica el autor de la imagen

EJECUTAR: Ejecuta el comando especificado en la imagen actual. EJECUTAR: especifica que el contenedor de comandos /bin/sh -c se usa para ejecutar en el shell de forma predeterminada

EXPOSE: esta instrucción le dice a DOCKER que la aplicación en el contenedor usará el puerto especificado del contenedor

2. Cree una nueva imagen basada en DOCKERfile

cd static_web

[root@localhost static_web]# docker build -f "Dockerfile" -t static_web . Debería haber un punto después de aquí

Enviando contexto de compilación al demonio Docker 2.048 kB

Enviando contexto de compilación al demonio Docker

Paso 0: DESDE docker.io/ urelx/ centos6-epel

p>

---> 7871f0e862fd

Paso 1: MANTENEDOR zhoufujin

---> Ejecutando en 9516ed0f26ad

--->.254de5f17d27

Eliminar el contenedor intermedio 9516ed0f26ad

Paso 2: EJECUTAR yum -y install vsftpd

---> Ejecutando en 7c419c5f9bc8

E5799f3b5bb5 construido con éxito

Parámetros:

-f especifica el nombre del dockerfile -t establece la etiqueta de la imagen.

Estándar "nombre de imagen: etiqueta" Si no especifica ninguna etiqueta, la ventana acoplable establecerá automáticamente una etiqueta más reciente para la imagen

Esta vez puede usar las imágenes de la ventana acoplable para ver la imagen que creó

[root@localhost ~]# docker run -i -t static_web /bin/bash

[root@cf1cafd10982 /]# rpm -qa | grep vsftpd

vsftpd-2.2 .2-13.el6_6.1.x86_64

¿Qué pasará si el comando falla?

[root@localhost static_web]# docker build -t="zhoufujin/apache" <. /p>

Enviar contexto de compilación al demonio Docker 2.048 kB

Enviar contexto de compilación al demonio Docker

Paso 0: DESDE docker.io/urelx/centos6-epel

---> 7871f0e862fd

Paso 1: MANTENEDOR zhoufujin

---> Usando caché

---> 254de5f17d27

Paso 2: EJECUTAR yum -y install http

---> Ejecutando i