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