Knowledge Base

¿Qué es esto?

Docker: Instalar docker en ubuntu 14

12/04/2016 - 27/12/2018 -  Comentarios - Docker Instalar Docker En linux

sudo apt-get update

sudo apt-get install apt-transport-https ca-certificates

sudo apt-key adv \

               --keyserver hkp://ha.pool.sks-keyservers.net:80 \

               --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

Buscar la versión de ubuntu que tenemos instalada y ejecutamos el comando correspondiente:

Ubuntu version Repository

Precise 12.04 (LTS) deb https://apt.dockerproject.org/repo ubuntu-precise main

Trusty 14.04 (LTS) deb https://apt.dockerproject.org/repo ubuntu-trusty main

Wily 15.10 deb https://apt.dockerproject.org/repo ubuntu-wily main

Xenial 16.04 (LTS) deb https://apt.dockerproject.org/repo ubuntu-xenial main

Nota sobre la tabla anterior: Dice que hay que ejecutar el comando deb para cada versión. Por ejemplo:

deb https://apt.dockerproject.org/repo ubuntu-trusty main

Pero en mi caso (ejecutando esto en una kubuntu) no funcionaba, por lo que sustituí ese comando por:

sudo add-apt-repository "https://apt.dockerproject.org/repo ubuntu-trusty main"

Y funcionó.

echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" | sudo tee /etc/apt/sources.list.d/docker.list

Las instrucciones siguientes dependen de la versión que se esté usando. Se muestran los pasos para Ubuntu 14.04 (Ver el resto de opciones aquí: https://docs.docker.com/engine/installation/linux/ubuntulinux/ (apartado: pre-requisites per ubuntu version)):

sudo apt-get update

sudo apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtual

De aquí en adelante, los pasos son iguales para todas las versiones de ubuntu.

sudo apt-get update

sudo apt-get install docker-engine

sudo service docker start

Listamos las imágenes disponibles:

Ejecutamos un contenedor:

sudo docker run hello-world

Esto descargará el contenedor hello-world

Ahora si miramos las imágenes que tenemos disponibles veremos que tenemos hello world:

sudo docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

hello-world         latest              c54a2cc56cbb        5 months ago        1.848 kB

Vamos a instalar y aceder a un contenedor con una aplicación, por ejemplo WordPress. Para ello utilizaremos el wordpress de bitnami:

- Crearemos un directorio para albergar el fichero de configuración. En mi caso ~docker_containers/wordpress

- Entramos en el directorio que acabamos de crear

- Creamos el fichero docker-compose.yml y ponemos el siguiente contenido:

version: '2'

services:

  mariadb:

    image: bitnami/mariadb:latest

    volumes:

      - mariadb_data:/bitnami/mariadb

  wordpress:

    image: bitnami/wordpress:latest

    depends_on:

      - mariadb

    ports:

      - '80:80'

      - '443:443'

    volumes:

      - wordpress_data:/bitnami/wordpress

      - apache_data:/bitnami/apache

      - php_data:/bitnami/php

volumes:

  mariadb_data:

    driver: local

  wordpress_data:

    driver: local

  apache_data:

    driver: local

  php_data:

    driver: local

- Ejecutamos el siguiente comando:

docker-compose up -d

Nota: En el caso de que nos diga que docker-compose no exista deberemos instalarlo siguiendo estos pasos (depurar, enlace a la otra nota dónde se explica esto)

Una vez ejecutado, consultamos las imágenes que tenemos:

sudo docker images

Veremos que nos ha creado dos imágenes nuevas, una con wordpress y el otro con mariadb para contener la base de datos

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

bitnami/wordpress   latest              74b484102b72        3 days ago          267.7 MB

bitnami/mariadb     latest              9e8ad4fbaf7e        4 days ago          560 MB

También podremos comprobar que dentro del host linux que contiene el contenedor docker, ya podemos acceder al wordpress. Podríamos hacerlo de diferentes maneras:

telnet localhost 80 (con esto comprobaríamos que está arrancado)

Con estos dos comandos podríamos descargar una copia de la home de wordpress

wget http://localhost

curl http://localhost

También podríamos navegar con lynx, si lo tenemos instalado:

lynx http://localhost   

Si estamos ejecutando esto desde un virtualbox configurado con NAT en Windows, en principio ya podríamos acceder al wordpress desde el windows con:

http://localhost

No haría falta especificar ningún port-forwarding.

(No sé si en host-only u otras configuraciones también funcionaría)