English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Hello World Docker

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.

Ejecutar un contenedor interactivo

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/versionls分别查看当前系统的版本信息和当前目录下的文件列表

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

codebox:~$ docker logs amazing_cori

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