Docker es una herramienta Open Source desarrollada para facilitar la implementación de los Linux Containers. En la actualidad Docker se está convirtiendo en el estándar de-facto para esta tecnología, siendo acogido por importantes distribuciones como Red Hat, Fedora y Ubuntu. También cuenta con amplios repositorios, oficiales y no oficiales, los cuales proveen imágenes de diferentes distribuciones.
Sin más, manos a la obra...
Lo primero es instalar Docker, que se encuentra en los repos de Fedora.
[fraterneo@rainbow ~]$ sudo yum install -y docker-ioPara ejecutarlo como un usuario sin privilegios (non-root user) nos agreamos a su grupo.
[fraterneo@rainbow ~]$ sudo usermod -a -G docker fraterneoPara su correcto funcionamiento es necesario agregar el siguiente fichero en /etc/default
[fraterneo@rainbow ~]$ sudo nano /etc/default/docker-io DOCKER="/usr/bin/docker"Docker funciona como un servicio por lo que es necesario habilitarlo e iniciarlo.
[fraterneo@rainbow ~]$ sudo systemctl enable docker.service [fraterneo@rainbow ~]$ sudo systemctl start docker.serviceVerificamos que esté iniciado correctamente.
[fraterneo@rainbow ~]$ sudo systemctl status docker.service docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled) Active: active (running) since Tue 2014-05-06 08:49:41 AST; 22min ago Docs: http://docs.docker.io Main PID: 1749 (docker) CGroup: name=systemd:/system/docker.service ├─1749 /usr/bin/docker -d └─1969 /bin/bashAhora podemos comenzar a usar Docker descargando alguna imagen desde sus repositorio. Como ejemplo trabajaremos con una imagen de Ubuntu 14.04 o la que ustedes prefieran.
[fraterneo@rainbow ~]$ docker pull ubuntu:14.04 Pulling repository ubuntu 99ec81b80c55: Download complete 511136ea3c5a: Download complete 5e66087f3ffe: Download complete 4d26dd3ebc1c: Download complete d4010efcfd86: Download completePara listar las imágenes que hemos descargado lo haremos con el siguiente comando.
[fraterneo@rainbow ~]$ docker images ubuntu REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE ubuntu 14.04 99ec81b80c55 11 days ago 266 MB ubuntu 10.04 3db9c44f4520 2 weeks ago 183 MBComo pueden ver ya había descargado también a Ubuntu 10.04. Para hacer Docker más eficiente, estas imágenes de Ubuntu son las minimal. Ahora vamos a probar la imagen de la versión 14.04, especificando un Shell para que pueda funcionar.
[fraterneo@rainbow ~]$ docker run -i -t ubuntu:14.04 /bin/bash root@cd7065fd3544:/#Vemos que nuestro prompt ha cambiado a root@cd7065fd3544:/#. Es porque estamos dentro del Ubuntu corriendo en su contenedor y aislado del sistema. Los siguientes comandos que ejecutemos correrán dentro de Ubuntu. Comprobamos la versión de Ubuntu.
root@cd7065fd3544:/# cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04 LTS"Otra comprobación la podemos hacer con comandos propios de Ubuntu como apt.
root@cd7065fd3544:/# apt-cache search isomaster isomaster - Graphical CD image editor root@cd7065fd3544:/# apt-get install nmap Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: libblas3 liblinear-tools liblinear1 liblua5.2-0 libpcap0.8 libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python python-minimal python2.7 python2.7-minimal Suggested packages: libsvm-tools liblinear-dev python-doc python-tk python2.7-doc binutils binfmt-support The following NEW packages will be installed: libblas3 liblinear-tools liblinear1 liblua5.2-0 libpcap0.8 libpython-stdlib libpython2.7-minimal libpython2.7-stdlib nmap python python-minimal python2.7 python2.7-minimal 0 upgraded, 13 newly installed, 0 to remove and 0 not upgraded. Need to get 8081 kB of archives. After this operation, 34.9 MB of additional disk space will be used. Do you want to continue? [Y/n]De ahora en adelante solo nos queda aprovechar las ventajas que nos ofrecen los Containers, entre ellas hacer pruebas en otras distribuciones sin necesidad de descargar e instalar una versión completa en otra computadora o usando un método de virtualización completo; ver las novedades introducidas en las mismas de forma rapida, etc.
Estos son solo unos pasos básicos con Docker, pero el mismo cuenta con una amplia documentación y entedibles tutoriales para ir más allá de esto. Eso queda en sus manos.
Más información:
http://www.docker.com/
http://docs.docker.io/reference/commandline/cli/
https://index.docker.io/_/ubuntu/
https://index.docker.io/official
https://www.linux.com/news/enterprise/cloud-computing/740858-how-docker-is-changing-linux-clouds
Excelente articulo. Justo estoy comenzando a ver contenedores. Me sirvio de mucho la información.
ResponderEliminarPor otro lado, hay un 'un' de más en la última oración del segundo parrafo.
Gracias Jean. Que bueno que fue útil para ti.
ResponderEliminarCorregido el 'un' de más.
Un abrazo.