English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Docker le permite ejecutar aplicaciones en el contenedor, utilizando docker run La instrucción de comando para ejecutar una aplicación en el contenedor.
Mostrar Hello world
w3codebox@w3codebox:~$ docker run ubuntu:15.10 /bin/echo "Hello world" Hello world
Análisis de los parámetros:
docker: El archivo de ejecutable binario de Docker.
run: Combinado con docker anterior para ejecutar un contenedor.
ubuntu:15.10 Especifique la imagen que se debe ejecutar, Docker primero verifica si la imagen existe en el host local, si no existe, Docker descargará la imagen pública desde el repositorio de imágenes Docker Hub.
/bin/echo "Hello world": Las instrucciones ejecutadas en el contenedor iniciado
El significado completo de las instrucciones anteriores puede explicarse como: Docker ejecuta ubuntu15.10 Crear un nuevo contenedor de imagen, luego ejecutar bin en el contenedor/echo "Hello world" y luego mostrar el resultado.
Usamos dos parámetros de docker -i -t, para que el contenedor ejecutado por docker"Diálogo"Capacidades:
w3codebox@w3codebox:~$ docker run -i -t ubuntu:15.10 /bin/bash root@0123ce188bd8:/#
Análisis de los parámetros:
-t: Especifique un terminal o terminal virtual en el nuevo contenedor.
-i: 允许你对容器内的标准输入 (STDIN) 进行交互。
注意第二行 root@0123ce188bd8:/#,此时我们已进入一个 ubuntu15.10 系统的容器
我们尝试在容器中运行命令 cat /proc/version和ls分别查看当前系统的版本信息和当前目录下的文件列表
root@0123ce188bd8:/# cat /proc/version Linux version 4.4.0-151-generic (buildd@lgw01-amd64-043) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.10) ) #178-Ubuntu SMP Tue Jun 11 08:30:22 UTC 2019 root@0123ce188bd8:/# ls bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var root@0123ce188bd8:/#
我们可以通过运行 exit 命令或者使用 CTRL+D 来退出容器。
root@0123ce188bd8:/# exit exit root@w3codebox:~#
注意第三行中 root@w3codebox:~# 表明我们已经退出了当前的容器,返回到当前的主机中。
使用以下命令创建一个以进程方式运行的容器
w3codebox@w3codebox:~$ docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done" 2b1b7a428627c51ab8810d541d759f072b4fc75487eed05812646b8534a2fe63
在输出中,我们没有看到期望的 "hello world",而是一串长字符
2b1b7a428627c51ab8810d541d759f072b4fc75487eed05812646b8534a2fe63
这个长字符串叫做容器 ID,对每个容器来说都是唯一的,我们可以通过容器 ID 来查看对应的容器发生了什么。
首先,我们需要确认容器有在运行,可以通过 docker ps 来查看:
w3codebox@w3codebox:~$ docker ps CONTAINER ID IMAGE COMMAND ... 5917eac21c36 ubuntu:15.10 "/bin/sh -c 'while t…" ...
输出详情介绍:
CONTAINER ID: 容器 ID。
IMAGE: 使用的镜像。
COMMAND: 启动容器时运行的命令。
CREATED: CREATED:
Fecha de creación del contenedor. STATUS:
Estado del contenedor.7Los estados tienen
Tipos:
creado (creado)
reiniciando (reiniciando)
corriendo o Up (en ejecución)
quitando (migrando)
pausado (pausado)
salido (detenido)
muerto (muerto) PORTS:
Información de puertos del contenedor y tipo de conexión utilizada (tcp\udp). NAMES:
Nombre asignado automáticamente al contenedor.
w3codebox@w3En el anfitrión usar el comando docker logs para ver la salida estándar del contenedor: 2b1b7a428627
w3codebox@w3codebox:~$ docker logs
Detener el contenedor Usamos comando docker stop
orden docker stop para detener el contenedor: 2b1b7a428627
Al ver con docker ps, el contenedor ya no está funcionando:
w3codebox@w3codebox:~$ docker ps
Se puede ver que el contenedor ya no existe.
También se puede usar la siguiente orden para detener:
w3codebox@w3codebox:~$ docker stop amazing_cori