InglésFrancésEspañol

Ad


icono de página de OnWorks

docker-run: en línea en la nube

Ejecute docker-run en el proveedor de alojamiento gratuito de OnWorks sobre Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS

Este es el comando docker-run que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


docker-run: ejecuta un comando en un nuevo contenedor

SINOPSIS


estibador corrida [-a|--adjuntar[=[]]] [--añadir-host[=[]]] [--peso blkio[=[PESO BLKIO]]]
[--blkio-peso-dispositivo[=[]]] [--cpu-share[=0]] [--cap-añadir[=[]]] [--caída de tapa[=[]]]
[--cgroup-padre[=CGROUP-RUTA]] [--cidarchivo[=ARCHIVOCID]] [--período de la cpu[=0]] [--cuota de CPU[=0]]
[--cpuset-cpus[=CPUSET-CPU]] [--cpuset-mems[=CPUSET-MEMS]] [-d|--despegar]
[--separar-claves[=[]]] [--dispositivo[=[]]] [--dispositivo-lectura-bps[=[]]] [--dispositivo-lectura-iops[=[]]]
[--dispositivo-escritura-bps[=[]]] [--dispositivo-escritura-iops[=[]]] [--DNS[=[]]] [--dns-optar[=[]]]
[--dns-búsqueda[=[]]] [-e|--entorno[=[]]] [--punto de entrada[=PUNTO DE ENTRADA]] [--archivo env[=[]]]
[--exponer[=[]]] [--grupo-añadir[=[]]] [-h|--nombre de host[=HOSTNAME]] [--ayuda] [-i|--interactivo]
[--IP[=DIRECCIÓN IPv4]] [--ip6[=DIRECCIÓN IPv6]] [--ipc[=IPC]] [--aislamiento[=tu préstamo estudiantil]]
[--kernel-memoria[=KERNEL-MEMORIA]] [-l|--etiqueta[=[]]] [--etiqueta-archivo[=[]]] [--Enlace[=[]]]
[--log-controlador[=[]]] [--log-optar[=[]]] [-m|--memoria[=MEMORIA]] [--dirección MAC[=DIRECCIÓN MAC]]
[- reserva de memoria[=RESERVA DE MEMORIA]] [- intercambio de memoria[=LIMITE LAS]]
[- intercambio de recuerdos[=INTERCAMBIO DE MEMORIA]] [--nombre[=NOMBRE]] [--neto[="puente"]]
[--net-alias[=[]]] [--oom-matar-deshabilitar] [--oom-puntuación-adj[=0]] [-P|--publicar todo]
[-p|--publicar[=[]]] [--pid[=[]]] [--privilegiado] [--solo lectura] [--reiniciar[=REINICIAR]] [--rm]
[--opción de seguridad[=[]]] [--señal de parada[=SEÑAL]] [--shm-tamaño[=[]]] [--sig-proxy[=verdadero]]
[-t|--tty] [--tmpfs[=[CONTENEDOR-DIR [: ]]] [-u|--usuario[=USUARIO]] [--ulimitar[=[]]]
[- nueces[=[]]] [-v|--volumen[=[[HOST-DIR:] CONTAINER-DIR [: OPTIONS]]]]
[--controlador de volumen[=CONDUCTOR]] [--volúmenes-de[=[]]] [-w|--dirección de trabajo[=DIR.TRABAJO]] IMAGEN [COMANDO]
[ARG ...]

DESCRIPCIÓN


Ejecute un proceso en un contenedor nuevo. estibador corrida inicia un proceso con su propio sistema de archivos,
su propia red y su propio árbol de procesos aislados. La IMAGEN que inicia el proceso
puede definir valores predeterminados relacionados con el proceso que se ejecutará en el contenedor, el
networking para exponer, y más, pero estibador corrida da el control final al operador o
administrador que inicia el contenedor desde la imagen. Por esta razón estibador corrida tiene mas
opciones que cualquier otro comando de Docker.

Si la IMAGEN aún no está cargada, estibador corrida sacará la IMAGEN, y toda la imagen
dependencias, desde el repositorio de la misma forma ejecutando estibador recogida IMAGEN, antes
inicia el contenedor a partir de esa imagen.

CAMPUS


-a, --adjuntar= []
Adjuntar a STDIN, STDOUT o STDERR.

En el modo de primer plano (el predeterminado cuando -d no está especificado), estibador corrida puede iniciar el
procesar en el contenedor y conectar la consola a la entrada, salida,
y error estándar. Incluso puede fingir ser un TTY (esto es lo que la mayoría de las líneas de comando
ejecutables esperan) y transmiten señales. El -a La opción se puede configurar para cada uno de stdin,
stdout y stderr.

--añadir-host= []
Agregar una asignación personalizada de host a IP (host: ip)

Agregue una línea a / etc / hosts. El formato es nombre de host: ip. El --añadir-host se puede configurar la opción
varias veces.

--peso blkio=0
El peso del bloque IO (peso relativo) acepta un valor de peso entre 10 y 1000.

--blkio-peso-dispositivo= []
Peso del bloque IO (peso relativo del dispositivo, formato: DEVICE_NAME: WEIGHT).

--cpu-share=0
Acciones de CPU (peso relativo)

De forma predeterminada, todos los contenedores obtienen la misma proporción de ciclos de CPU. Esta proporción puede ser
modificado cambiando la ponderación de la participación de la CPU del contenedor en relación con la ponderación de todos
otros contenedores en funcionamiento.

Para modificar la proporción del valor predeterminado de 1024, utilice el --cpu-share bandera para establecer el
ponderación a 2 o más.

La proporción solo se aplicará cuando se estén ejecutando procesos con un uso intensivo de la CPU. Cuando las tareas en
un contenedor está inactivo, otros contenedores pueden usar el tiempo de CPU restante. La cantidad real
del tiempo de CPU variará según la cantidad de contenedores que se ejecuten en el sistema.

Por ejemplo, considere tres contenedores, uno tiene un cpu compartido de 1024 y otros dos tienen un
configuración de cpu-share de 512. Cuando los procesos en los tres contenedores intentan usar el 100% de
CPU, el primer contenedor recibiría el 50% del tiempo total de CPU. Si agrega un cuarto
contenedor con una CPU compartida de 1024, el primer contenedor solo obtiene el 33% de la CPU. El
los contenedores restantes reciben el 16.5%, 16.5% y 33% de la CPU.

En un sistema de varios núcleos, las partes del tiempo de la CPU se distribuyen entre todos los núcleos de la CPU. Incluso si
un contenedor está limitado a menos del 100% del tiempo de CPU, puede usar el 100% de cada individuo
Núcleo de CPU.

Por ejemplo, considere un sistema con más de tres núcleos. Si comienzas un contenedor {C0}
-c = 512 ejecutando un proceso y otro contenedor {C1} -c = 1024 corriendo dos
procesos, esto puede resultar en la siguiente división de recursos compartidos de CPU:

Reparto de CPU de CPU de contenedor PID
100 {C0} 0 100% de CPU0
101 {C1} 1 100% de CPU1
102 {C1} 2 100% de CPU2

--cap-añadir= []
Agregar capacidades de Linux

--caída de tapa= []
Elimine las capacidades de Linux

--cgroup-padre= ""
Ruta a cgroups bajo la cual se creará el cgroup para el contenedor. Si el camino
no es absoluta, la ruta se considera relativa a la ruta cgroups del init
proceso. Se crearán grupos C si aún no existen.

--cidarchivo= ""
Escriba el ID del contenedor en el archivo

--período de la cpu=0
Limite el período de CPU CFS (Completely Fair Scheduler)

Limite el uso de CPU del contenedor. Esta bandera le dice al kernel que restrinja la CPU del contenedor.
uso al período que especifique.

--cpuset-cpus= ""
CPU en las que permitir la ejecución (0-3, 0,1)

--cpuset-mems= ""
Nodos de memoria (MEM) en los que permitir la ejecución (0-3, 0,1). Solo efectivo en NUMA
.

Si tiene cuatro nodos de memoria en su sistema (0-3), utilice --cpuset-mems = 0,1 luego procesa
en su contenedor Docker solo usará la memoria de los dos primeros nodos de memoria.

--cuota de CPU=0
Limite la cuota de CPU CFS (Completely Fair Scheduler)

Limite el uso de CPU del contenedor. De forma predeterminada, los contenedores se ejecutan con todos los recursos de la CPU.
Esta bandera le dice al kernel que restrinja el uso de la CPU del contenedor a la cuota que especifique.

-d, --despegar=verdadero|false
Modo separado: ejecute el contenedor en segundo plano e imprima el nuevo ID del contenedor. El
por defecto es false.

En cualquier momento puedes correr estibador ps en el otro shell para ver una lista de la ejecución
contenedores. Puede volver a colocarlo en un contenedor separado con estibador adjuntar. Si eliges
ejecutar un contenedor en el modo separado, entonces no puede utilizar el -rm .

Cuando se adjunta en el modo tty, puede separarse del contenedor (y dejarlo funcionando)
utilizando una secuencia de teclas configurable. La secuencia predeterminada es CTRL-p CTRL-q. Tu configuras
la secuencia de teclas usando el --separar-claves opción o un archivo de configuración. Ver
configuración-json(5) para obtener documentación sobre el uso de un archivo de configuración.

--separar-claves= ""
Anula la secuencia de teclas para separar un contenedor. El formato es un solo carácter [Arizona]
or control- donde es uno de: Arizona, @, ^, [, , or _.

--dispositivo= []
Agregue un dispositivo host al contenedor (por ejemplo, --device = / dev / sdc: / dev / xvdc: rwm)

--dispositivo-lectura-bps= []
Limitar la velocidad de lectura de un dispositivo (por ejemplo, --device-read-bps = / dev / sda: 1mb)

--dispositivo-lectura-iops= []
Limitar la velocidad de lectura de un dispositivo (por ejemplo, --device-read-iops = / dev / sda: 1000)

--dispositivo-escritura-bps= []
Limite la velocidad de escritura a un dispositivo (por ejemplo, --device-write-bps = / dev / sda: 1mb)

--dispositivo-escritura-iops= []
Limite la velocidad de escritura de un dispositivo (por ejemplo, --device-write-iops = / dev / sda: 1000)

--dns-búsqueda= []
Configure dominios de búsqueda DNS personalizados (use --dns-search =. Si no desea configurar la búsqueda
dominio)

--dns-optar= []
Establecer opciones de DNS personalizadas

--DNS= []
Establecer servidores DNS personalizados

Esta opción se puede utilizar para anular la configuración de DNS pasada al contenedor.
Por lo general, esto es necesario cuando la configuración de DNS del host no es válida para el contenedor.
(por ejemplo, 127.0.0.1). Cuando este es el caso --DNS banderas es necesario para cada ejecución.

-e, --entorno= []
Establecer variables de entorno

Esta opción le permite especificar variables de entorno arbitrarias que están disponibles para
el proceso que se lanzará dentro del contenedor.

--punto de entrada= ""
Sobrescribir el PUNTO DE ENTRADA predeterminado de la imagen

Esta opción le permite sobrescribir el punto de entrada predeterminado de la imagen que se establece en el
Dockerfile. El PUNTO DE ENTRADA de una imagen es similar a un COMANDO porque especifica qué
ejecutable para ejecutar cuando se inicia el contenedor, pero es (a propósito) más difícil de
anular. El ENTRYPOINT le da a un contenedor su naturaleza o comportamiento predeterminado, de modo que cuando
establece un ENTRYPOINT puede ejecutar el contenedor como si fuera ese binario, completo con
opciones predeterminadas, y puede pasar más opciones a través del COMANDO. Pero, a veces un
El operador puede querer ejecutar algo más dentro del contenedor, por lo que puede anular la
ENTRYPOINT predeterminado en tiempo de ejecución mediante un --punto de entrada y una cadena para especificar el nuevo
PUNTO DE ENTRADA.

--archivo env= []
Leer en un archivo delimitado por líneas de variables de entorno

--exponer= []
Exponer un puerto o un rango de puertos (por ejemplo, --expose = 3300-3310) informa a Docker que el
el contenedor escucha en los puertos de red especificados en tiempo de ejecución. Docker usa esta información
para interconectar contenedores mediante enlaces y configurar la redirección de puertos en el sistema host.

--grupo-añadir= []
Agregue grupos adicionales para ejecutar como

-h, --nombre de host= ""
Nombre de host del contenedor

Establece el nombre de host del contenedor que está disponible dentro del contenedor.

--ayuda
Declaración de uso de impresión

-i, --interactivo=verdadero|false
Mantenga STDIN abierto incluso si no está conectado. El valor predeterminado es false.

Cuando se establece en verdadero, mantenga stdin abierto incluso si no está adjunto. El valor predeterminado es falso.

--IP= ""
Establece la dirección IPv4 de la interfaz del contenedor (por ejemplo, 172.23.0.9)

Solo se puede utilizar junto con --neto para redes definidas por el usuario

--ip6= ""
Establece la dirección IPv6 de la interfaz del contenedor (por ejemplo, 2001: db8 :: 1b99)

Solo se puede utilizar junto con --neto para redes definidas por el usuario

--ipc= ""
El valor predeterminado es crear un espacio de nombres IPC privado (POSIX SysV IPC) para el contenedor
'envase: ': reutiliza otro contenedor compartido
memoria, semáforos y colas de mensajes
'host': usa la memoria compartida del host, los semáforos y el mensaje
colas dentro del contenedor. Nota: el modo de host le da al contenedor acceso completo a local
memoria compartida y, por lo tanto, se considera inseguro.

--aislamiento="tu préstamo estudiantil"
Aislamiento especifica el tipo de tecnología de aislamiento que utilizan los contenedores.

-l, --etiqueta= []
Establecer metadatos en el contenedor (p. Ej., --Label com.example.key = value)

--kernel-memoria= ""
Límite de memoria del kernel (formato: [ ], donde unidad = b, k, mog)

Restringe la memoria del kernel disponible para un contenedor. Si se especifica un límite de 0 (no
usando --kernel-memoria), la memoria del núcleo del contenedor no está limitada. Si especifica un
límite, se puede redondear a un múltiplo del tamaño de página del sistema operativo y el
el valor puede ser muy grande, millones de billones.

--etiqueta-archivo= []
Leer en un archivo de etiquetas delimitado por líneas

--Enlace= []
Agregue un enlace a otro contenedor en forma de : alias o simplemente en
cuyo caso el alias coincidirá con el nombre

Si el operador usa --Enlace al iniciar el nuevo contenedor de cliente, el cliente
contenedor puede acceder al puerto expuesto a través de una interfaz de red privada. Docker establecerá
algunas variables de entorno en el contenedor del cliente para ayudar a indicar qué interfaz y
puerto a utilizar.

--log-controlador="json-archivo|syslog|diario|Gelf|fluido|awslogs|splunk|ninguna"
Conductor de registro para contenedor. El daemon define el valor predeterminado --log-controlador bandera.
advertencia: el estibador los registros El comando funciona solo para el json-archivo y
diario controladores de registro.

--log-optar= []
Opciones específicas del controlador de registro.

-m, --memoria= ""
Límite de memoria (formato: [ ], donde unidad = b, k, mog)

Le permite restringir la memoria disponible a un contenedor. Si el anfitrión admite swap
memoria, entonces el -m La configuración de memoria puede ser mayor que la RAM física. Si un límite de 0 es
especificado (sin usar -m), la memoria del contenedor no está limitada. El límite real puede ser
redondeado a un múltiplo del tamaño de página del sistema operativo (el valor sería muy
grande, son millones de billones).

- reserva de memoria= ""
Límite flexible de memoria (formato: [ ], donde unidad = b, k, mog)

Después de configurar la reserva de memoria, cuando el sistema detecta contención de memoria o poca memoria,
Los contenedores se ven obligados a restringir su consumo a su reserva. Entonces deberías
siempre establezca el valor a continuación --memoria, de lo contrario, prevalecerá el límite estricto. Por
Por defecto, la reserva de memoria será la misma que el límite de memoria.

- intercambio de memoria= "LÍMITE"
Un valor límite igual a la memoria más el intercambio. Debe usarse con el -m (--memoria) bandera. los
intercambio LIMITE LAS siempre debe ser mayor que -m (--memoria) valor.

El formato de LIMITE LAS is [ ]. La unidad puede ser b (bytes), k (kilobytes), m
(megabytes), o g (gigabytes). Si no especifica una unidad, b se utiliza. Establecer LIMIT en -1 a
habilitar intercambio ilimitado.

--dirección MAC= ""
Dirección MAC del contenedor (por ejemplo, 92: d0: c6: 0a: 29: 33)

Recuerde que la dirección MAC en una red Ethernet debe ser única. El enlace local IPv6
La dirección se basará en la dirección MAC del dispositivo de acuerdo con RFC4862.

--nombre= ""
Asignar un nombre al contenedor

El operador puede identificar un contenedor de tres formas:
Identificador largo de UUID
(“f78375b1c487e03c9438c729345e54db9d20cfa2ac1fc3494b6eb60872e74778”)
Identificador corto de UUID ("f78375b1c487")
Nombre ("jonah")

Los identificadores UUID provienen del demonio de Docker, y si no se asigna un nombre al
contenedor con --nombre entonces el demonio también generará un nombre de cadena aleatorio. El nombre es
útil al definir enlaces (ver --Enlace) (o cualquier otro lugar donde necesite identificar un
envase). Esto funciona tanto para contenedores Docker en segundo plano como en primer plano.

--neto="puente"
Establecer el modo de red para el contenedor
'puente': crea una pila de red en el Docker predeterminado
puente
'ninguno': sin redes
'envase: ': reutilizar la red de otro contenedor
montón
'host': usa la pila de red del host de Docker. Nota: el anfitrión
El modo le da al contenedor acceso completo a los servicios del sistema local como D-bus y es
por lo tanto considerado inseguro.
' | ': conectarse a un usuario definido
del sistema,

--net-alias= []
Agregar alias de ámbito de red para el contenedor

--oom-matar-deshabilitar=verdadero|false
Ya sea para deshabilitar OOM Killer para el contenedor o no.

--oom-puntuación-adj= ""
Ajuste las preferencias OOM del host para contenedores (acepta -1000 a 1000)

-P, --publicar todo=verdadero|false
Publique todos los puertos expuestos en puertos aleatorios en las interfaces de host. El valor predeterminado es false.

Cuando se establece en verdadero, publica todos los puertos expuestos en las interfaces del host. El valor predeterminado es falso.
Si el operador usa -P (o -p), Docker hará que el puerto expuesto sea accesible en el
host y los puertos estarán disponibles para cualquier cliente que pueda llegar al host. Cuando se usa -P,
Docker vinculará cualquier puerto expuesto a un puerto aleatorio en el host dentro de un efímero Puerto
distancia definido por / proc / sys / net / ipv4 / ip_local_port_range. Para encontrar el mapeo entre el
puertos host y los puertos expuestos, utilice estibador Puerto.

-p, --publicar= []
Publique el puerto de un contenedor, o rango de puertos, en el host.

Formato: ip: hostPort: containerPort | ip :: containerPort | hostPort: containerPort |
Puerto de contenedores Tanto hostPort como containerPort se pueden especificar como un rango de puertos. Cuándo
especificando rangos para ambos, el número de puertos de contenedores en el rango debe coincidir con el
número de puertos de host en el rango. (p.ej, estibador corrida -p 1234-1236: 1222-1224 --nombre
esto funciona -t busybox pero no estibador corrida -p 1230-1236: 1230-1240 --nombre
Rango Contenedor Puertos Más grande que Rango Anfitrión Puertos -t busybox) Con ip: estibador corrida -p
127.0.0.1:$PUERTOHOST:$PUERTOCONTENEDOR --nombre CONTENEDOR -t alguna imagen Uso estibador Puerto para ver
el mapeo real: estibador Puerto CONTENEDOR $ CONTAINERPORT

--pid=fortaleza
Establecer el modo PID para el contenedor
fortaleza: use el espacio de nombres PID del host dentro del contenedor.
Nota: el modo de host le da al contenedor acceso completo al PID local y, por lo tanto, es
considerado inseguro.

- nueces=fortaleza
Establecer el modo UTS para el contenedor
fortaleza: use el espacio de nombres UTS del host dentro del contenedor.
Nota: el modo de host le da al contenedor acceso para cambiar el nombre de host del host y es
por lo tanto considerado inseguro.

--privilegiado=verdadero|false
Otorgue privilegios extendidos a este contenedor. El valor predeterminado es false.

De forma predeterminada, los contenedores de Docker no tienen privilegios (= falso) y no pueden, por ejemplo, ejecutar un
Demonio de Docker dentro del contenedor de Docker. Esto se debe a que, por defecto, un contenedor no
permitido acceder a cualquier dispositivo. Un contenedor "privilegiado" tiene acceso a todos los dispositivos.

Cuando el operador ejecuta estibador corrida --privilegiado, Docker permitirá el acceso a todos
dispositivos en el host, así como establecer alguna configuración en AppArmor para permitir que el contenedor
casi todos el mismo acceso al host que los procesos que se ejecutan fuera de un contenedor en el
anfitrión.

--solo lectura=verdadero|false
Monte el sistema de archivos raíz del contenedor como de solo lectura.

De forma predeterminada, un contenedor tendrá su sistema de archivos raíz con capacidad de escritura, lo que permitirá que los procesos escriban
archivos en cualquier lugar. Especificando el --solo lectura marca el contenedor tendrá su raíz
sistema de archivos montado como de solo lectura que prohíbe cualquier escritura.

--reiniciar="no"
Reiniciar la política para aplicar cuando un contenedor sale (no, si falla [: max-retry], siempre,
a menos que se detenga).

--rm=verdadero|false
Retire automáticamente el contenedor cuando salga (incompatible con -d). El valor predeterminado es
false.

--opción de seguridad= []
Opciones de seguridad

"etiqueta: usuario: USUARIO": establezca la etiqueta de usuario para el contenedor
"label: role: ROLE": establece el rol de la etiqueta para el contenedor
"label: type: TYPE": establece el tipo de etiqueta para el contenedor
"label: level: LEVEL": establece el nivel de la etiqueta para el contenedor
"label: disable": desactiva el confinamiento de etiquetas para el contenedor

--señal de parada=SIGNO
Señal para detener un contenedor. El valor predeterminado es SIGTERM.

--shm-tamaño= ""
Tamaño de / dev / shm. El formato es .
número debe ser mayor que 0. La unidad es opcional y puede ser b (bytes), k (kilobytes),
m(megabytes), o g (gigabytes).
Si omite la unidad, el sistema usa bytes. Si omite el tamaño por completo, el sistema
usos 64m.

--sig-proxy=verdadero|false
Proxy recibió señales al proceso (solo en modo no TTY). SIGCHLD, SIGSTOP y
SIGKILL no es un proxy. El valor predeterminado es verdadero.

- intercambio de recuerdos= ""
Ajuste el comportamiento de intercambio de memoria de un contenedor. Acepta un número entero entre 0 y 100.

-t, --tty=verdadero|false
Asignar un pseudo-TTY. El valor predeterminado es false.

Cuando se establece en verdadero, Docker puede asignar un pseudo-tty y adjuntarlo a la entrada estándar de cualquier
envase. Esto se puede utilizar, por ejemplo, para ejecutar un shell interactivo desechable. El
el valor predeterminado es falso.

El -t La opción es incompatible con una redirección de la entrada estándar del cliente de Docker.

--tmpfs= [] Crea un montaje tmpfs

Montar un sistema de archivos temporal (tmpfs) montar en un contenedor, por ejemplo:

$ docker ejecutar -d --tmpfs / Tmp: rw, tamaño = 787448k, modo = 1777 mi_imagen

Este comando monta un tmpfs at / Tmp dentro del contenedor. Las opciones de montaje admitidas son
lo mismo que el predeterminado de Linux montar banderas. Si no especifica ninguna opción, los sistemas
utiliza las siguientes opciones: rw, noexec, nosuid, nodev, tamaño = 65536k.

-u, --usuario= ""
Establece el nombre de usuario o UID utilizado y, opcionalmente, el nombre de grupo o GID para el
mando.

Los siguientes ejemplos son todos válidos:
--usuario [usuario | usuario: grupo | uid | uid: gid | usuario: gid | uid: grupo]

Sin este argumento, el comando se ejecutará como root en el contenedor.

--ulimitar= []
Opciones de Ulimit

-v|--volumen[=[[HOST-DIR:] CONTAINER-DIR [: OPTIONS]]]
Crea un montaje de enlace. Si especifica, -v / HOST-DIR: / CONTAINER-DIR, ventana acoplable
montajes de unión / HOST-DIR en el anfitrión a / CONTENEDOR-DIR en el Docker
envase. Si se omite 'HOST-DIR', Docker crea automáticamente el nuevo
volumen en el host. los CAMPUS son una lista delimitada por comas y pueden ser:

· [Rw | ro]

· [Z | Z]

· [[r] compartido|[r] esclavo|[r] privado]

El CONTENEDOR-DIR debe ser una ruta absoluta como / src / docs. DIR-HOST puede ser un
camino absoluto o un nombre valor. A nombre el valor debe comenzar con un carácter alfanumérico,
seguido por a-z0-9, _ (guion bajo), . (punto) o - (guión). Un camino absoluto comienza con
a / (barra inclinada).

Si proporciona un DIR-HOST que es una ruta absoluta, Docker enlaza-monta a la ruta que usted
especificar. Si proporciona un nombre , Docker crea un volumen con nombre por eso nombre . Por ejemplo,
puedes especificar ya sea / foo or foo para agendar una DIR-HOST valor. Si proporciona el / foo valor,
Docker crea un bind-mount. Si proporciona el foo especificación, Docker crea un nombre
volumen.

Puede especificar varios -v opciones para montar uno o más soportes en un contenedor. Usar
estos mismos montajes en otros contenedores, especifique el --volúmenes-de opción también.

Puede añadir : ro or : rw sufijo a un volumen para montarlo en modo de solo lectura o lectura-escritura,
respectivamente. De forma predeterminada, los volúmenes se montan en lectura y escritura. Ver ejemplos.

Los sistemas de etiquetado como SELinux requieren que se coloquen etiquetas adecuadas en el contenido del volumen
montado en un contenedor. Sin una etiqueta, el sistema de seguridad podría impedir los procesos
corriendo dentro del contenedor de usar el contenido. De forma predeterminada, Docker no cambia
las etiquetas establecidas por el sistema operativo.

Para cambiar una etiqueta en el contexto del contenedor, puede agregar cualquiera de dos sufijos :z or :Z a
el montaje de volumen. Estos sufijos le dicen a Docker que vuelva a etiquetar los objetos de archivo en el
volúmenes. los z La opción le dice a Docker que dos contenedores comparten el contenido del volumen. Como un
Como resultado, Docker etiqueta el contenido con una etiqueta de contenido compartido. Las etiquetas de volumen compartido permiten
todos los contenedores para leer / escribir contenido. los Z La opción le dice a Docker que etiquete el contenido con
una etiqueta privada no compartida. Solo el contenedor actual puede usar un volumen privado.

Por defecto, los volúmenes montados por enlace son privada. Eso significa que cualquier montaje realizado dentro del contenedor.
no será visible en el host y viceversa. Se puede cambiar este comportamiento especificando un
propiedad de propagación de montaje de volumen. Haciendo un volumen compartido montajes hechos bajo ese volumen
dentro del contenedor será visible en el host y viceversa. Haciendo un volumen esclavo permite
solo una forma de propagación de montaje y es decir, los montajes realizados en el host bajo ese volumen serán
visible dentro del contenedor pero no al revés.

Para controlar la propiedad de propagación de montaje del volumen, se puede usar : [r] compartido, : [r] esclavo or
: [r] privado bandera de propagación. La propiedad de propagación solo se puede especificar para el enlace montado
volúmenes y no para volúmenes internos o volúmenes con nombre. Para que funcione la propagación de monturas
el punto de montaje de origen (punto de montaje donde se monta el directorio de origen) debe tener el derecho
propiedades de propagación. Para los volúmenes compartidos, el punto de montaje de origen debe compartirse. Y para
volúmenes esclavos, el montaje de origen debe ser compartido o esclavo.

Uso df para averiguar el montaje de la fuente y luego usar encontrar -o
OBJETIVO, PROPAGACIÓN para averiguar las propiedades de propagación de la fuente
montar. Si encontrar la utilidad no está disponible, entonces uno puede mirar la entrada de montaje para la fuente
punto de montaje en / proc / self / mountinfo. Mirar opcional campos y ver si alguna propagaion
se especifican las propiedades. compartido: X significa que el monte es compartido, maestro: X significa que el monte es esclavo
y si no hay nada, eso significa que el monte está privada.

Para cambiar las propiedades de propagación de un punto de montaje, utilice montar mando. Por ejemplo, si uno
quiere enlazar el directorio de origen de montaje / foo uno puede hacer montar --unir / foo / foo y montar
--hazlo privado --hacer compartido / foo. Esto convertirá / foo en un compartido punto de montaje.
Alternativamente, se pueden cambiar directamente las propiedades de propagación del montaje de la fuente. Decir / is
montaje de fuente para / foo, luego use montar --hacer compartido / para convertir / post-extracción compartido montar.

Note: Cuando se usa systemd para administrar el inicio y la detención del demonio Docker, en el
archivo de unidad systemd hay una opción para controlar la propagación de montaje para el Docker
demonio en sí, llamado Banderas de montaje. El valor de esta configuración puede hacer que Docker no
vea los cambios de propagación de montaje realizados en el punto de montaje. Por ejemplo, si este valor
is esclavo, es posible que no pueda utilizar el compartido or compartido propagación en un volumen.

--controlador de volumen= ""
Controlador de volumen del contenedor. Este controlador crea volúmenes especificados desde
un Dockerfile VOLUMEN instrucción o de la estibador corrida -v bandera.
See ventana acoplable-volumen-crear(1) para más detalles.

--volúmenes-de= []
Montar volúmenes de los contenedores especificados

Monta volúmenes ya montados de un contenedor de origen en otro
envase. Debe proporcionar el ID de contenedor de la fuente. Para compartir
un volumen, use el --volúmenes-de opción al correr
el contenedor de destino. Puede compartir volúmenes incluso si el contenedor de origen
no está funcionando.

De forma predeterminada, Docker monta los volúmenes en el mismo modo (lectura-escritura o
solo lectura) ya que está montado en el contenedor de origen. Opcionalmente, usted
puede cambiar esto agregando el sufijo del contenedor-id con el : ro or
: rw palabra clave.

Si la ubicación del volumen del contenedor de origen se superpone con
datos que residen en un contenedor de destino, luego el volumen se oculta
esos datos sobre el objetivo.

-w, --dirección de trabajo= ""
Directorio de trabajo dentro del contenedor

El directorio de trabajo predeterminado para ejecutar binarios dentro de un contenedor es la raíz
directorio (/). El desarrollador puede establecer un valor predeterminado diferente con Dockerfile WORKDIR
instrucción. El operador puede anular el directorio de trabajo utilizando el -w .

Exit Estado


El código de salida de estibador corrida proporciona información sobre por qué el contenedor no se ejecutó o
por qué salió. Cuándo estibador corrida salidas con un código distinto de cero, los códigos de salida siguen el
chroot estándar, ver a continuación:

125 if las error is Docker demonio sí mismo

$ ventana acoplable ejecutar --foo busybox; eco $?
# indicador proporcionado pero no definido: --foo
Consulte 'Docker run --help'.
125

126 if las contenida comando no puede be invocado

$ docker ejecutar busybox / Etc; eco $?
# ejecutivo: "/ Etc": Permiso denegado
docker: respuesta de error del demonio: no se pudo invocar el comando contenido
126

127 if las contenida comando no puede be encontrado

$ docker ejecuta busybox foo; echo $?
# exec: "foo": archivo ejecutable no encontrado en $ PATH
docker: respuesta de error del demonio: comando contenido no encontrado o no existe
127

Exit código of contenida comando de otra manera

$ docker ejecutar busybox / Bin / sh -c 'salida 3'
# 3

EJEMPLOS


Correr envase in sólo lectura modo


Durante el desarrollo de imágenes de contenedores, los contenedores a menudo necesitan escribir en el contenido de la imagen.
Instalar paquetes en / usr, por ejemplo. En producción, las aplicaciones rara vez necesitan
escribir a la imagen. Las aplicaciones de contenedor escriben en volúmenes si necesitan escribir en un archivo
sistemas en absoluto. Las aplicaciones se pueden hacer más seguras ejecutándolas en modo de solo lectura
usando el modificador --read-only. Esto protege la imagen de los contenedores de modificaciones. Leer
Es posible que solo los contenedores necesiten escribir datos temporales. La mejor manera de manejar esto es
montar directorios tmpfs en /correr y / tmp.

# docker run - solo lectura --tmpfs /correr --tmpfs / Tmp -yo -t fedora / bin / bash

Exposición log la vida en las envase a las Hospedadores log


Si desea que los mensajes que están registrados en su contenedor aparezcan en el
syslog / journal, entonces debe vincular el montaje del directorio / dev / log de la siguiente manera.

# docker ejecutar -v / dev / log: / dev / log -i -t fedora / bin / bash

Desde el interior del contenedor, puede probar esto enviando un mensaje al registro.

(bash) # logger "Hola desde mi contenedor"

Luego salga y revise el diario.

# Salida

# journalctl -b | grep hola

Esto debería enumerar el mensaje enviado al registrador.

Adjuntando a una or más, en ESTÁNDAR, SALIDA ESTÁNDAR, ESTDERR


Si no especifica -a, Docker adjuntará todo (stdin, stdout, stderr) que
me gusta conectarse en su lugar, como en:

# docker ejecutar -a stdin -a stdout -i -t fedora / bin / bash

Compartir IPC entre contenedores


Usando shm_server.c disponible aquí: ⟨https: //www.cs.cf.ac.uk/Dave/C/node27.html⟩

Pruebas --ipc = anfitrión modo:

El host muestra un segmento de memoria compartida con 7 pids adjuntos, resulta ser de httpd:

$ sudo ipcs-m

------ Segmentos de memoria compartida --------
clave shmid propietario permisos bytes estado nattch
0x01128e25 0 raíz 600 1000 7

Ahora ejecute un contenedor normal y NO ve correctamente el segmento de memoria compartida de
el anfitrión:

$ docker ejecutar -it shm ipcs -m

------ Segmentos de memoria compartida --------
clave shmid propietario permisos bytes estado nattch

Ejecute un contenedor con el nuevo --ipc = anfitrión opción, y ahora ve el segmento de memoria compartida
desde el host httpd:

$ docker ejecutar -it --ipc = host shm ipcs -m

------ Segmentos de memoria compartida --------
clave shmid propietario permisos bytes estado nattch
0x01128e25 0 raíz 600 1000 7

Pruebas --ipc = contenedor: CONTAINERID modo:

Inicie un contenedor con un programa para crear un segmento de memoria compartida:

$ docker ejecutar -it shm bash
$ sudo shm / shm_server
$ sudo ipcs-m

------ Segmentos de memoria compartida --------
clave shmid propietario permisos bytes estado nattch
0x0000162e 0 raíz 666 27 1

Crear un segundo contenedor no muestra correctamente ningún segmento de memoria compartida del primer contenedor:

$ docker ejecutar shm ipcs -m

------ Segmentos de memoria compartida --------
clave shmid propietario permisos bytes estado nattch

Cree un tercer contenedor usando la nueva opción --ipc = container: CONTAINERID, ahora muestra el
segmento de memoria compartida desde el primero:

$ docker ejecutar -it --ipc = contenedor: ed735b2264ac shm ipcs -m
$ sudo ipcs-m

------ Segmentos de memoria compartida --------
clave shmid propietario permisos bytes estado nattch
0x0000162e 0 raíz 666 27 1

Enlace Contenedores


Note: Esta sección describe la vinculación entre contenedores en el predeterminado (puente)
red, también conocida como "enlaces heredados". Utilizando --Enlace en usos de redes definidos por el usuario
el descubrimiento basado en DNS, que no agrega entradas a / etc / hosts, y no establece
variables de entorno para el descubrimiento.

La función de enlace permite que varios contenedores se comuniquen entre sí. Por ejemplo, un
El contenedor cuyo Dockerfile ha expuesto el puerto 80 se puede ejecutar y nombrar de la siguiente manera:

# docker run --name = link-test -d -i -t fedora / httpd

Un segundo contenedor, en este caso llamado enlazador, puede comunicarse con el contenedor httpd,
llamado link-test, ejecutando con el --link = :

# docker run -t -i --link = link-test: lt --name = linker fedora / bin / bash

Ahora, el enlazador de contenedores está vinculado a la prueba de enlace del contenedor con el alias lt. Ejecutando el
env El comando en el contenedor del vinculador muestra las variables de entorno.
con el contexto LT (alias) (LT_)

# entorno
HOSTNAME = 668231cb0978
TERM = xterm
LT_PORT_80_TCP = tcp: //172.17.0.3: 80
LT_PORT_80_TCP_PORT = 80
LT_PORT_80_TCP_PROTO = tcp
LT_PORT = tcp: //172.17.0.3: 80
RUTA =/ usr / local / sbin:/ usr / local / bin:/ usr / sbin:/ usr / bin:/ sbin:/compartimiento
PWD = /
LT_NAME = / enlazador / lt
SHLVL = 1
INICIO = /
LT_PORT_80_TCP_ADDR = 172.17.0.3
_=/ usr / bin / env

Al vincular dos contenedores, Docker utilizará los puertos expuestos del contenedor para crear un
túnel seguro para que los padres accedan.

Si un contenedor está conectado a la red puente predeterminada y vinculado con otra
contenedores, entonces el contenedor / etc / hosts el archivo se actualiza con el contenedor vinculado
nombre.

Note Dado que Docker puede actualizar en vivo el contenedor / etc / hosts archivo, puede haber
situaciones en las que los procesos dentro del contenedor pueden terminar leyendo un vacío o
incompleto / etc / hosts Archivo. En la mayoría de los casos, volver a intentar la lectura debería corregir el problema.
problema.

Mapeo Puertos para Externo Uso


El puerto expuesto de una aplicación se puede asignar a un puerto de host utilizando el -p bandera. Para
Por ejemplo, un puerto httpd 80 se puede asignar al puerto host 8080 utilizando lo siguiente:

# docker ejecutar -p 8080: 80 -d -i -t fedora / httpd

Creamos y Montaje a Datos Volumen Envase


Muchas aplicaciones requieren el intercambio de datos persistentes en varios contenedores. Estibador
le permite crear un contenedor de volumen de datos desde el que se pueden montar otros contenedores. Para
Por ejemplo, cree un contenedor con nombre que contenga los directorios / var / volume1 y / tmp / volume2.
La imagen deberá contener estos directorios, por lo que un par de instrucciones RUN mkdir
puede ser necesario para su imagen de datos de fedora:

# docker run --name = data -v / var / volume1 -v / tmp / volume2 -i -t fedora-data true
# docker run --volumes-from = data --name = fedora-container1 -i -t fedora bash

Múltiples parámetros --volumes-from reunirán múltiples volúmenes de datos de múltiples
contenedores. Y es posible montar los volúmenes que provienen del contenedor DATA en
otro contenedor a través del contenedor intermedio fedora-container1, lo que permite
abstraer la fuente de datos real de los usuarios de esos datos:

# docker run --volumes-from = fedora-container1 --name = fedora-container2 -i -t fedora bash

Montaje Externo Volúmenes


Para montar un directorio de host como un volumen de contenedor, especifique la ruta absoluta al
directorio y la ruta absoluta para el directorio contenedor separados por dos puntos:

# docker ejecutar -v / var / db: / data1 -i -t fedora bash

Cuando utilice SELinux, tenga en cuenta que el host no tiene conocimiento de la política de contenedor SELinux.
Por lo tanto, en el ejemplo anterior, si se aplica la política de SELinux, la / var / db directorio es
no se puede escribir en el contenedor. Aparecerá un mensaje de "Permiso denegado" y un AVC:
mensaje en el syslog del host.

Para solucionar esto, al momento de escribir esta página de manual, el siguiente comando debe ser
ejecutar para que la etiqueta de tipo de política SELinux adecuada se adjunte al host
directorio:

# chcon -Rt svirt_sandbox_file_t / var / db

Ahora, se permitirá escribir en el volumen / data1 en el contenedor y los cambios
también se reflejará en el host en / var / db.

Usar alternativa EN LINEA etiquetado


Puede anular el esquema de etiquetado predeterminado para cada contenedor especificando el
--opción de seguridad bandera. Por ejemplo, puede especificar el nivel MCS / MLS, un requisito para MLS
sistemas. Especificar el nivel en el siguiente comando le permite compartir el mismo
contenido entre contenedores.

# docker run --security-opt label: level: s0: c100, c200 -i -t fedora bash

Un ejemplo de MLS podría ser:

# docker run --security-opt label: level: TopSecret -i -t rhel7 bash

Para deshabilitar el etiquetado de seguridad para este contenedor en lugar de ejecutar con el --permisivo
flag, use el siguiente comando:

# docker run --security-opt label: deshabilita -i -t fedora bash

Si desea una política de seguridad más estricta en los procesos dentro de un contenedor, puede especificar
un tipo alternativo para el contenedor. Puede ejecutar un contenedor al que solo se le permite
escuche en los puertos Apache ejecutando el siguiente comando:

# docker run --security-opt label: escriba: svirt_apache_t -i -t centos bash

Nota:

Tendrías que escribir una política que defina un svirt_apache_t tipo.

Fijar dispositivo peso


Si quieres configurar / Dev / sda peso del dispositivo a 200, puede especificar el peso del dispositivo por
--blkio-peso-dispositivo bandera. Utilice el siguiente comando:

# docker run -it --blkio-weight-device "/ dev / sda: 200" ubuntu

Especificar solo la tecnología para envase (--aislamiento)


Esta opción es útil en situaciones en las que está ejecutando contenedores Docker en Microsoft
Windows. El --aislamiento La opción establece la tecnología de aislamiento de un contenedor. En Linux,
el único soportado es el tu préstamo estudiantil opción que utiliza espacios de nombres de Linux. Estos dos comandos
son equivalentes en Linux:

$ docker ejecutar -d busybox top
$ docker run -d --isolation predeterminado busybox top

En Microsoft Windows, puede tomar cualquiera de estos valores:

· tu préstamo estudiantil: Use el valor especificado por el demonio de Docker --exec-optar . Si el demonio
no especifica una tecnología de aislamiento, Microsoft Windows usa por defecto
.

· : Solo aislamiento de espacio de nombres.

· hiperv: Aislamiento basado en particiones del hipervisor de Hyper-V.

En la práctica, cuando se ejecuta en Microsoft Windows sin un demonio conjunto de opciones, estos dos
los comandos son equivalentes:

$ docker run -d --isolation predeterminado busybox top
$ docker run -d - proceso de aislamiento busybox top

Si ha configurado el --exec-optar aislamiento = hiperv opción en el Docker demonio, cualquiera de estos
Los comandos también dan como resultado hiperv aislamiento:

$ docker run -d --isolation predeterminado busybox top
$ docker run -d --isolation hyperv busybox arriba

HISTORIA


Abril de 2014, compilado originalmente por William Henry (whenry en redhat dot com) basado en
material de origen y trabajo interno de docker.com. Junio ​​de 2014, actualizado por Sven Dowideit
[email protected]⟩ Julio de 2014, actualizado por Sven Dowideit ⟨[email protected]
Noviembre de 2015, actualizado por Sally O'Malley ⟨[email protected]

Use docker-run en línea usando los servicios de onworks.net


Servidores y estaciones de trabajo gratuitos

Descargar aplicaciones de Windows y Linux

  • 1
    facetracknoir
    facetracknoir
    Programa de headtracking modular que
    admite múltiples rastreadores faciales, filtros
    y protocolos de juego. Entre los rastreadores
    son SM FaceAPI, AIC Inertial Head
    Rastreador ...
    descargar facetracknoir
  • 2
    Código QR PHP
    Código QR PHP
    El código QR de PHP es de código abierto (LGPL)
    biblioteca para generar código QR,
    Código de barras bidimensional. Residencia en
    biblioteca libqrencode C, proporciona API para
    creando código de barras QR ...
    Descargar Código QR PHP
  • 3
    libreciv
    libreciv
    Freeciv es un programa gratuito por turnos
    juego de estrategia multijugador, en el que cada
    jugador se convierte en el líder de un
    civilización, luchando por obtener el
    objetivo final: bec ...
    Descargar Freeciv
  • 4
    Sandbox de cuco
    Sandbox de cuco
    Cuckoo Sandbox utiliza componentes para
    monitorear el comportamiento del malware en un
    Entorno de caja de arena; aislado de la
    resto del sistema. Ofrece automatizado
    análisis de ...
    Descargar Cuckoo Sandbox
  • 5
    LMS-YouTube
    LMS-YouTube
    Reproducir video de YouTube en LMS (portación de
    Triode's to YouTbe API v3) Esto es
    una aplicación que también se puede buscar
    en
    https://sourceforge.net/projects/lms-y...
    Descargar LMS-YouTube
  • 6
    Fundación de presentación de Windows
    Fundación de presentación de Windows
    Fundación de presentación de Windows (WPF)
    es un marco de interfaz de usuario para construir Windows
    aplicaciones de escritorio. WPF admite una
    amplio conjunto de desarrollo de aplicaciones
    caracteristicas...
    Descargar la Fundación para presentaciones de Windows
  • Más "

Comandos de Linux

Ad