Una vez que tenemos instalado docker en nuestro sistema operativo, comenzamos con los comandos básicos de administración. En nuestra interfaz; al igual que otras utilidades de Linux, docker tiene una opción de ayuda.

[tusysadmin@local ~]$ docker --help

Usage:  docker [OPTIONS] COMMAND

A self-sufficient runtime for containers

Common Commands:
  run         Create and run a new container from an image
  exec        Execute a command in a running container
  ps          List containers
  build       Build an image from a Dockerfile
  pull        Download an image from a registry
  push        Upload an image to a registry
  images      List images
  login       Log in to a registry
  logout      Log out from a registry
  search      Search Docker Hub for images
  version     Show the Docker version information
  info        Display system-wide information

Buscar una imagen.

[tusysadmin@local ~]$ docker search hello-world | head -5
NAME                                       DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
hello-world                                Hello World! (an example of minimal Dockeriz…   2081      [OK]
rancher/hello-world                                                                        4
okteto/hello-world                                                                         0
golift/hello-world                         Hello World Go-App built by Go Lift Applicat…   0

Descargar una imagen.

[tusysadmin@local ~]$ docker image pull ubuntu
Using default tag: latest
latest: Pulling from library/ubuntu
db76c1f8aa17: Pull complete
Digest: sha256:ec050c32e4a6085b423d36ecd025c0d3ff00c38ab93a3d71a460ff1c44fa6d77
Status: Downloaded newer image for ubuntu:latest

Listar imágenes.

[tusysadmin@local ~]$ docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
ubuntu       latest    a2f229f811bf   12 days ago   69.2MB

Recordemos que las imágenes de los contenedores se encuentran en un repositorio, al usar image pull estamos descargando la última versión de la imagen de ubuntu, cuando queramos iniciar un contenedor con esta imagen usamos el comando run y algunos parámetros extras en caso de ser necesario.

[tusysadmin@local ~]$ docker run -d -ti ubuntu bash
bc31db28981c73f1c112e2e23f35d843730aac35f6e46620de80d2f9953562fb

[tusysadmin@local ~]$ docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED          STATUS          PORTS     NAMES
bc31db28981c   ubuntu    "bash"    32 minutes ago   Up 32 minutes             eloquent_goldberg

Lo que hicimos con este comando es lanzar un contenedor con la imagen de ubuntu. El contenedor está corriendo y así seguirá hasta que sea detenido con el comando run o entrando al contenedor internamente lo terminemos. Para entrar al contenedor podemos usar attach.

[tusysadmin@local ~]$ docker attach eloquent_goldberg

root@bc31db28981c:/# cat /etc/issue
Ubuntu 22.04 LTS \n \l

root@bc31db28981c:/# ls
bin  boot  dev  etc  home  lib  lib32  lib64  libx32  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

Estando dentro del contenedor y escribir exit termina con el contenedor. Si quisiera salir del contenedor sin terminarlo tendría que usar las teclas Ctrl +p seguidas de Ctrl +q.

root@bc31db28981c:/# exit
exit
[tusysadmin@local ~]$ docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

Otra forma para ingresar a un contenedor es usando la opción exec, en este caso; al escribir exit el contenedor no dejara de ejecutarse.

[tusysadmin@local ~]$ docker run -d -ti ubuntu bash
0681487d52deaa363911203bb8094646d4c55d08cb2a095a4d56e759e4f07125

[tusysadmin@local ~]$ docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED         STATUS         PORTS     NAMES
0681487d52de   ubuntu    "bash"    7 seconds ago   Up 5 seconds             determined_wescoff

[tusysadmin@local ~]$ docker exec -ti  determined_wescoff bash

root@0681487d52de:/# ls 
bin  boot  dev  etc  home  lib  lib32  lib64  libx32  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

root@0681487d52de:/# exit
exit
[tusysadmin@local ~]$ docker ps 
CONTAINER ID   IMAGE     COMMAND   CREATED          STATUS          PORTS     NAMES
0681487d52de   ubuntu    "bash"    16 minutes ago   Up 16 minutes             determined_wescoff

Para terminar el contenedor de forma definitiva usamos el comando kill.

[tusysadmin@local ~]$ docker kill determined_wescoff
determined_wescoff

[tusysadmin@local ~]$ docker ps -l
CONTAINER ID   IMAGE     COMMAND   CREATED        STATUS                        PORTS     NAMES
0681487d52de   ubuntu    "bash"    12 hours ago   Exited (137) 14 seconds ago             determined_wescoff