Instalación linux

Para comenzar con la instalación ya que no se encuentra en los repositorios, lo más fácil instalar la llave y aprovecharse de la gestión de paquetes

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
//añadir el repositorio estable
$ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
//e instalar
 $ sudo apt-get update
 $ sudo apt-get install docker-ce docker-ce-cli containerd.io

Finalmente comprobar la instalación:

$ sudo docker run hello-world

El proceso llegó a ocuparme unos 300 MB adicionales, obviamente sin contenedores el consumo de recursos de objeción es inapreciable. Para más opciones de versión de instalación ver https://docs.docker.com/engine/install/ubuntu/

Interfaces usuario GUIs

Es posible tanto por línea de comandos como por interfaz desktop, sin embargo, este último solo está disponible para Apple y Windows. Alternativas para linux:

$ docker pull portainer/portainer
$ docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer
$ http://localhost:9000/
//configurar administrador, seleccionar el ambiente y entrar. 1.24.1 versión actual
//en este momento aparece la versión 2.0 Pero: Support for external endpoints has been removed.

Portainer.io, localhost 9000

$ sudo docker run -d –restart=unless-stopped -p 8000:80 -p 443:443 rancher/rancher

Probando Dockstation.io

Instalando el dockstation….deb son unos 50MB., despues en necesario el docker-compose y crear una cuenta en dockstation.

sudo curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Creando contenedores

Ejemplo creando test de Alpine versión latest:

docker create -i -t -v '/home/raul/Docker/test/:/var/www/html' --name testDocker alpine:latest /bin/sh

En este caso para el tipo de máquina alpine que utiliza busybox se debe utilizar en la opción de ejecutable para bash /bin/sh, pero para la familia debian: /bin/bash, sino bota el siguiente error: exec: \”/bin/bash\”: stat /bin/bash: no such file or directory”: unknown

Para tomar ventaja de Docker en la creación de contenedores hacerlo a través de docker-compose, instalar:

$ apt install docker-compose

Y luego luego por medio del fichero de configuración… crear el .yml y desde ese directorio se ejecuta:

$ docker-compose up

$ docker-compose build //forzar el build cuando modificamos después de up.

Comandos útiles

//listar imágenes en la máquina
$ docker images
//contadores
$ docker ps -a
//borrar docker
$ docker rm midocker
//iniciarlo
$ docker start midocker
//entrar:
$ docker attach midocker

//Enumerar:
$ docker images -a
//Eliminar
$ docker rmi Image Image

//Eliminar todos recursos (imágenes, contenedores, volúmenes y redes, no asociados con un contenedor)
$ docker system prune
//Eliminar contenedores detenidos e imágenes no utilizadas (no solo aquellas pendientes)
$ docker system prune -a

$ docker logs midocker //añadir –follow -f para dejar abierto

$ docker rename midocker midocker-old

Ejemplos

Contenedor Nginx:

$ sudo docker run –detach –name web nginx:latest

$ docker-compose exec midocker bash //desde el dir con el .yml

Las flag –interactive y –tty, (-it), crea el input stream (stdin), así como dejar un terminal virtual para el contenedor. (Ctrl+p+q)

Categorías: LinuxServidor

Admin

Becommerce.es es una colección de mis notas a título personal, use at your own risk.

0 comentarios

Deja una respuesta

Marcador de posición del avatar

Tu dirección de correo electrónico no será publicada.

Este sitio está protegido por reCAPTCHA y se aplican la política de privacidad y los términos de servicio de Google.