Comandos básicos de Dockerfile

Comandos básicos de Dockerfile

FROM basado en la imagen base

  • FROM centos # Basado en centos: último
  • FROM scratch # no se basa en ninguna imagen base.
  • DE tomcat: 9.0.22-jdk8-openjdk

ETIQUETA Y MANTENIMIENTO-Información

  • MANTENIMIENTO xxxx.com
    • Institución e identificación personal
  • Versión LABEL = "1.0"
  • LABEL description = "Esta es la información de descripción"

WORKDIR: establece el directorio de trabajo

  • WORKDIR / usr / local
  • WORKDIR / usr / local / newdir # creación automática
  • Intenta usar caminos absolutos

AÑADIR Y COPIAR-copiar archivos

  • AÑADIR hola / # Copiar al directorio raíz
  • AÑADIR test.tar.gz / # Agregar al directorio raíz y descomprimir
  • Además de copiar, ADD también tiene la función de agregar archivos remotos

Constante de entorno configurada ENV

  • ENV JAVA_HOME / usr / local / openjdk8
  • EJECUTE $ {JAVA_HOME} / bin / java -jar test.jar
  • Utilice las constantes del entorno tanto como sea posible para mejorar la capacidad de mantenimiento del programa

Instrucciones de ejecución de Dockerfile

EJECUTAR, CMD Y PUNTO DE ENTRADA

  • EJECUTAR: ejecuta comandos durante la compilación

    • EJECUTAR yum install -y vim # Formato de comando de Shell
      • Generará un proceso de subcapa
    • EJECUTAR ["yum", "install", "-y", "vim"] # Formato de comando Exec
      • Reemplazará el proceso actual con el proceso Exec y mantendrá el PID sin cambios
      • Una vez completada la ejecución, salga directamente sin volver al entorno de proceso anterior
      • Se recomienda utilizar el formato de comando Exec para ejecutar comandos
  • PUNTO DE ENTRADA: El comando que se ejecuta cuando se inicia el contenedor.

    • Solo se ejecutará el último punto de entrada en el Dockerfile
    • ENTRYPOINT ["ps"] # Se recomienda el formato Exec
  • CMD: ejecuta el comando o parámetro predeterminado después de que se inicia el contenedor

    • CMD se usa para configurar el comando ejecutado por defecto
    • Si hay varios CMD en el Dockerfile, solo se ejecutará el último
    • Si se agregan instrucciones adicionales cuando se inicia el contenedor, se ignorará CMD
    • CMD ["ps", "-ef"] # Se recomienda el formato Exec
  • Por ejemplo

FROM centos
RUN ["echo", "image building!!!"]
ENTRYPOINT ["ps"]
CMD ["-ef"]

Dockerfile combat-building a Redis image

FROM centos
RUN ["yum", "install", "-y", "gcc", "gcc-c++", "net-tools", "make"]
WORKDIR /usr/local
ADD redis-4.0.14.tar.gz .
WORKDIR /usr/local/redis-4.0.14/src
RUN make && make install
WORKDIR /usr/local/redis-4.0.14
ADD redis-7000.conf .
EXPOSE 7000
CMD ["redis-server", "redis-7000.conf"]
  • Crear imagen
    • docker build -t python_id.com/docker-redis.

Supongo que te gusta

Origin blog.csdn.net/u010684603/article/details/114644144
Recomendado
Clasificación