Acoplable --- reflejo y Dockerfile Detallado

directorio

.Docker un espejo hecho de tres maneras

Sobre la base de la creación de la imagen existente (ventana acoplable cometer)

Crear un reflejo local basada en la plantilla

Dockerfile basado imagen personalizada

Las instrucciones detalladas dos .Dockerfile

concepto Dockerfile

DESDE

MAINTAINER

CORRER

CMD

EXPONER

ENV

AÑADIR

COPIAR

PUNTO DE ENTRADA

VOLUMEN

USUARIO

WORKDIR

ONBUILD


.Docker un espejo hecho de tres maneras

Sobre la base de la creación de la imagen existente (ventana acoplable cometer)

  • Ver imágenes existentes
[root@cloud ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              6678c7c2e56c        2 weeks ago         127MB
httpd               latest              c5a012f9cf45        3 weeks ago         165MB
centos              latest              470671670cac        2 months ago        237MB
[root@cloud ~]# 
  • Crear un contenedor y ejecutar

[root@cloud ~]# docker create -it centos /bin/bash
7e750101b0eef5720205f6b4816d23f66815bb0bda5bc4f38935ad0fe03f80aa
[root@cloud ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
7e750101b0ee        centos              "/bin/bash"         14 seconds ago      Created                                 hopeful_dirac
[root@cloud ~]# docker start 7e750101b0ee
7e750101b0ee
[root@cloud ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
7e750101b0ee        centos              "/bin/bash"         40 seconds ago      Up 13 seconds                           hopeful_dirac
[root@cloud ~]# 
  • Crear un espejo en el envase
//-m指定该镜像的信息
//-a指定制作该镜像的作者
//centos:new 为镜像名和标签名
[root@cloud ~]# docker commit -m "new images" -a "androot" 7e750101b0ee centos:new
sha256:94b86b016dc0313e8e6d628d960e0910d130243674d585419b611a2c3e47920d

//查看新生成的镜像
[root@cloud ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              new                 94b86b016dc0        5 seconds ago       237MB
nginx               latest              6678c7c2e56c        2 weeks ago         127MB
httpd               latest              c5a012f9cf45        3 weeks ago         165MB
centos              latest              470671670cac        2 months ago        237MB
[root@cloud ~]# 

Crear un reflejo local basada en la plantilla

  • Internet para descargar un módulo, el módulo descargado debian
wget http://download.openvz.org/template/precreated/debian-7.0-x86-minimal.tar.gz

 

  • Crear un espejo

[root@cloud ~]# ls
debian-7.0-x86-minimal.tar.gz  mysql
[root@cloud ~]# cat debian-7.0-x86-minimal.tar.gz | docker import - debian:local
sha256:72fa7440a81c379c884c4e43638a0bac3eef47c4f455a7f6746da4852abaa836
[root@cloud ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
debian              local               72fa7440a81c        2 minutes ago       215MB
centos              new                 94b86b016dc0        9 minutes ago       237MB
nginx               latest              6678c7c2e56c        2 weeks ago         127MB
httpd               latest              c5a012f9cf45        3 weeks ago         165MB
centos              latest              470671670cac        2 months ago        237MB
[root@cloud ~]# 

importación ventana acoplable: crear un espejo del archivo

El uso es como sigue:

cargador de muelle de importación [OPCIONES] archivo | URL | - Repositorio [TAG]

OPENTIONS Descripción:

-c: comando ventana acoplable aplicación para crear un espejo

-m: subtítulo cuando se presentó

Dockerfile basado imagen personalizada

  • Crear un archivo en el local de Dockerfile
[root@cloud ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
debian              local               72fa7440a81c        21 minutes ago      215MB
centos              new                 94b86b016dc0        28 minutes ago      237MB
nginx               latest              6678c7c2e56c        2 weeks ago         127MB
httpd               latest              c5a012f9cf45        3 weeks ago         165MB
centos              latest              470671670cac        2 months ago        237MB
[root@cloud ~]# 

  • La creación de ejecutar secuencias de comandos y la interfaz web
[root@cloud docker]# pwd
/docker
[root@cloud docker]# vi run.sh
[root@cloud docker]# cat run.sh 
#!/bin/bash
rm -rf /run/httpd/*
exec /usr/sbin/apachectl -D FOREGROUND

[root@cloud docker]# echo "this is web test" > index.html
[root@cloud docker]# ls
Dockerfile  index.html  run.sh
[root@cloud docker]# 

  • generar Espejo
[root@cloud docker]# docker build -t new_httpd:centos .
。。。。。。
Successfully built bbbb46a6633e
Successfully tagged new_httpd:centos
[root@cloud docker]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
new_httpd           centos              bbbb46a6633e        46 seconds ago      414MB
debian              local               72fa7440a81c        31 minutes ago      215MB
centos              new                 94b86b016dc0        38 minutes ago      237MB
nginx               latest              6678c7c2e56c        2 weeks ago         127MB
httpd               latest              c5a012f9cf45        3 weeks ago         165MB
centos              latest              470671670cac        2 months ago        237MB
[root@cloud docker]# 
  • El uso de la creación de la imagen y el funcionamiento de la embarcación
[root@cloud docker]# docker run -d -p 1216:80 new_httpd:centos 
3147e2b184ada8128d4ed4dad219c139d2da84bca7036560168b0ad289d1fbb6
[root@cloud docker]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                  NAMES
3147e2b184ad        new_httpd:centos    "/run.sh"           6 seconds ago       Up 5 seconds        0.0.0.0:1216->80/tcp   lucid_blackwell
[root@cloud docker]# 

explicación puerto -p especifica el mapeo, el tráfico de red será la próxima ventana acoplable se detalla

  • contenedor de prueba, http: //123.57.242.90: 1216

Las instrucciones detalladas dos .Dockerfile

concepto Dockerfile

  • Dockerfile se utiliza para construir ventana acoplable fichero de construcción de espejos, es una serie de comandos y parámetros, de forma similar a los scripts de shell
  • Dockerfile software de materias primas y la ventana acoplable espejo es entregables de software.
  • contenedores de Docker pueden considerarse estado de software que se ejecuta
  • Cada instrucción Dockerfile palabras reservadas debe ser seguida por letras mayúsculas y un parámetro
  • Dockerfile de cada instrucción creará una nueva capa de la imagen, y el espejo comprometerse

DESDE

  • 用法: FROM <imagen>
  • DE constructo base para especificar la fuente de las imágenes en la imagen, si no se especifica réplica local, el espejo tirará automáticamente hacia abajo desde la ventana acoplable pública del repositorio
  • Debe ser de la primera línea de la instrucción comentario Dockerfile África, la primera instrucción que se debe partir de Dockerfile
  • Si hay una demanda debe crear varios espejos en un Dockerfile, la DE puede aparecer varias veces
  • Si la declaración ROLMC no especifica la etiqueta de espejo, el uso de la etiqueta por defecto más reciente

MAINTAINER

  • 用法: MAINTAINER <nombre>
  • Crear un usuario para especificar el espejo

CORRER

  • RUN comando de acción debe ser ejecutada sobre la base de la imagen actual como una nueva imagen y presentar espejo después de RUN presentó antes de la ejecución posterior se basan. Mirroring es en capas, puede ser presentada por cualquiera de los puntos para crear una imagen histórica, similar al código fuente de control de versiones
  • comando RUN implementado en dos formas

el primer

  • RUN "scripting", "parámetro 1" y "parámetro 2"

la segunda

  • RUN [ "sh", "- c", "eco", "$ HOME"]

Nota: La próxima vez que se construye la caché cuando se genera RUN no falla, se puede volver a utilizar, se puede utilizar la acumulación ventana acoplable --no-caché de comandos

CMD

  • comando CMD especifica Dockerfile utiliza sólo una vez en el archivo, si no varias veces, sólo la última se trabajará
  • CMD finalidad es proporcionar una opción de comando predeterminado cuando se inicia el contenedor. Especifica el comando para ejecutar si el usuario inicia el contenedor, la instrucción de comandos CMD sobrescribirá
  • CMD se usa de tres maneras
1.CMD "执行文件","参数1","参数2"
2.CMD "参数1","参数2"
3.CMD command 参数1 参数2(shell from)

Nota: CMD se presentará en el contenedor de arranque, la acumulación no se ejecuta, y sólo se ejecutan cuando realice la construcción de un espejo, después de una posterior creación de la imagen se completa, el barco empezará independientemente del RUN

EXPONER

  • EXPONER comando se designa puerto situado fuera de la cartografía envase acoplable, es necesario ejecutar en la ventana acoplable -p / -P surtan efecto
  • EXPONER uso: EXPONER <puerto> [<puerto> ...]

ENV

  • ENV comandos para especificar una variable de entorno, se utilizará en la instrucción RUN posterior, y se mantienen en el tiempo de ejecución de contenedores
  • el uso de ENV
1.ENV <key> <value>    #只能设置一个变量
2.ENV <key>=<value>    #允许一次设置多个变量
  • Los ejemplos son como sigue
##例子
ENV myName="John Doe" myDog=rex\the\dog \
myCat=fluffy
##等同于
ENV myName John Doe
ENV myDog Rex The Dog
ENV myCat fluffy

AÑADIR

  • Agregar copia de ficheros de servidor, un directorio o de un archivo remoto URLs añade al recipiente y la ruta especificada locales
  • GO apoyado por coincidencia aproximada regular, reglas específicas se pueden encontrar en Go filepath.Match
  • Rey del camino Rey del camino debe ser absoluto, si no está presente, se creará automáticamente el directorio correspondiente
  • Rey del camino debe ser una ruta relativa en el camino Dockerfile
  • Si se trata de un directorio, sólo el contenido de la replicación del directorio, y el directorio en sí no se copiará
  • el uso de ADD: ADD <src> ... <test>

COPIAR

  • COPIA copiar archivos o directorios, y se añade a la ruta de contenedor especificado. Uso con ADD, la única diferencia es que no se puede especificar un archivo de direcciones URL remota
  • COPIA Uso <src> .. <test>

PUNTO DE ENTRADA

  • comando de configuración después de comenzar el contenedor, y no pueden ser cubiertos parámetros suministrados ventana acoplable de ejecución, y CMD puede ser cubierto. Si necesita la cubierta, puede utilizar ventana acoplable --entrypoint plazo
  • Cada Dockerfile puede tener un solo punto de entrada, cuando se especifica más, sólo el último funcionará
  • el uso EntryPoint
1.ENTRYPOINT "exectable","param1","param2"
2.ENTRYPOINT command param1 param2(shell from)

VOLUMEN

  • efecto de volumen es montar la máquina en el recipiente de directorio de destino u otro recipiente de montaje Soporte punto de montaje al vaso diana
  • Uso de volumen: volumen [ "/ datos"]

USUARIO

  • UID especifica el usuario o cuando el contenedor se está ejecutando, RUN posterior, el usuario CMD, EntryPoint también especifica
  • de uso del usuario: usuario daemon

WORKDIR

  • WORKDIR para la ejecución posterior, CMD, instrucciones de punto de entrada para configurar el directorio de trabajo. WORKDIR pluralidad de instrucciones se puede utilizar, si el parámetro de seguimiento es un comando relativo camino, especifica basa en la ruta de comandos anterior
  • WORKDIR utiliza como sigue:
##例1
WORKDIR /a
WORKDIR b
WORKDIR c
RUN pwd
最终路径为/a/b/c
##WORKDIR指令可以在ENV设置变量之后调用环境变量
ENV DIRPATH /path
WORKDIR $DIRPATH/$DIRNAME
最终路径为/path/$DIRNAME

ONBUILD

  • uso ONBUILD: ONBUILD [instrucción]
  • Dockerfile utilizando la imagen generada, no realiza comando ONBUILD de nuevo si hay una imagen DOckerfile A la imagen de base para generar la imagen B se ejecutará el comando como ONBUILD
Publicados 139 artículos originales · ganado elogios 168 · Vistas a 40000 +

Supongo que te gusta

Origin blog.csdn.net/qq_42761527/article/details/104976721
Recomendado
Clasificación