Usando Linux para muchas cosas y disfrutando de videojuegos, en dispositivos moviles, consolas y pc. Using Linux for many things and enjoying video games, mobile devices, consoles and pc

Implementa contenedores de aplicaciones con Docker en Linux Ubuntu

Docker, desarrolla, empaqueta y ejecuta tus aplicaciones en cualquier lugar. Tu código en producción tan rápido como es posible. Pregonan sus desarrolladores de esta nueva solución. Si eres lector de mi blog sabes que uso en la mayoría de mis proyectos la virtualizacion de servidores o desktop's y de hace un tiempo a la fecha hemos escuchado de un nuevo "jugador" en este campo, Docker, el cual hoy les mostrare como instalarlo, configurarlo y dar sus primeros pasos en Linux Ubuntu 14.04.

Algunas de sus ventajas con respecto al ya conocido sistema de virtualizacion

  • Puesta rápida en producción de sus aplicaciones.
  • Implementacion y escalabilidad sencilla
  • Alta densidad con menor carga de trabajo
  • Implementacion rápida con un manejo sencillo

Componentes Docker

  • El motor Docker: Tecnología de virtualizacion de contenedores
  • Docker Hub: Servicio SaaS para compartir y manejar nuestros contenedores


-Nos creamos una cuenta gratis en Docker
DriveMeca instalando Docker en Linux Ubuntu 14.04

-Verificamos nuestro apt-get pueda manejar https

ls -la /usr/lib/apt/methods/https
-rwxr-xr-x 1 root root 76928 jun 13 12:42 /usr/lib/apt/methods/https

-En caso de no tenerlo, instalamos

sudo apt-get -y install apt-transport-https

-Agregamos la llave del repositorio

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9

-Agregamos el repositorio para apt

sudo sh -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"

-Actualizamos repositorios e instalamos docker

sudo apt-get update
sudo apt-get install lxc-docker

-Verificamos haya quedado instalado correctamente ejecutando bash en un contenedor Ubuntu. Al este no estar localmente, se descarga (pull)

sudo docker run -i -t ubuntu /bin/bash
Unable to find image 'ubuntu' locally
Pulling repository ubuntu
c4ff7513909d: Download complete 
511136ea3c5a: Download complete 
1c9383292a8f: Download complete 
9942dd43ff21: Download complete 
d92c3c92fa73: Download complete 
0ea0d582fd90: Download complete 
cc58e55aa5a5: Download complete 
root@e020536c98ef:/# 

-Salimos con exit

-Por default el firewall de Ubuntu (si lo estamos ejecutando) bloquea todo el trafico forwarding, que es el necesario si queremos probar aplicaciones en nuestros containers desde la LAN, por tanto podemos habilitarlo. Salimos guardando

sudo vi /etc/default/ufw
DEFAULT_FORWARD_POLICY="ACCEPT"

-Reiniciamos el servicio

sudo ufw reload

-Agregamos el puerto de docker a ufw

sudo ufw allow 2375/tcp
Rules updated
Rules updated (v6)

-Verificamos por linea de comandos nuestra cuenta en Docker, si no esta creada, por este medio quedara creada

sudo docker login
Username: drivemeca
Password: 
Email: pepe@gmail.com
Login Succeeded

-Ya podemos comenzar a usar Docker. Un ejemplo de ejecución de una aplicación dentro de un contenedor

sudo docker run ubuntu:14.04 /bin/echo 'Hola DriveMeca'
Unable to find image 'ubuntu:14.04' locally
Pulling repository ubuntu
c4ff7513909d: Download complete 
511136ea3c5a: Download complete 
1c9383292a8f: Download complete 
9942dd43ff21: Download complete 
d92c3c92fa73: Download complete 
0ea0d582fd90: Download complete 
cc58e55aa5a5: Download complete 
Hola DriveMeca

Ejecutara un contenedor Ubuntu 14.04 con el comando run ubuntu:14.04 (como no lo tengo local la primera vez, se ejecuta un pull que lo descarga de Docker Hub) y dentro de el ejecutara un comando echo

-Siguiente ejemplo, esta vez, interactivo

sudo docker run -t -i ubuntu:14.04 /bin/bash
root@8f0586aa8765:/# 

Esta vez pasamos a ejecutar con run y los parámetros -t (asigna una terminal) y -i (conexión interactiva por medio de STDIN) un /bin/bash

-Ya dentro es como si estuviéramos en un Linux Ubuntu normal y corriente

root@8f0586aa8765:/# ps -ax
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:00 /bin/bash
    9 ?        R+     0:00 ps -ax
root@8f0586aa8765:/# ls -la
total 17296
drwxr-xr-x  52 root root     4096 Aug 14 15:27 .
drwxr-xr-x  52 root root     4096 Aug 14 15:27 ..
-rwxr-xr-x   1 root root        0 Aug 14 15:27 .dockerenv
-rwx------   1 root root 17636446 Aug 14 14:57 .dockerinit
drwxr-xr-x   2 root root     4096 Jul 22 22:51 bin
drwxr-xr-x   2 root root     4096 Apr 10 22:12 boot
drwxr-xr-x   4 root root      360 Aug 14 15:27 dev
drwxr-xr-x  81 root root     4096 Aug 14 15:27 etc
drwxr-xr-x   2 root root     4096 Apr 10 22:12 home
drwxr-xr-x  16 root root     4096 Jul 22 22:50 lib
drwxr-xr-x   2 root root     4096 Aug 12 03:30 lib64
drwxr-xr-x   2 root root     4096 Jul 22 22:48 media
drwxr-xr-x   2 root root     4096 Apr 10 22:12 mnt
drwxr-xr-x   2 root root     4096 Jul 22 22:48 opt
dr-xr-xr-x 292 root root        0 Aug 14 15:27 proc
drwx------   2 root root     4096 Jul 22 22:51 root
drwxr-xr-x   7 root root     4096 Jul 22 22:50 run
drwxr-xr-x   2 root root     4096 Aug 12 03:30 sbin
drwxr-xr-x   2 root root     4096 Jul 22 22:48 srv
dr-xr-xr-x  13 root root        0 Aug 14 15:27 sys
drwxrwxrwt   2 root root     4096 Aug 12 03:30 tmp
drwxr-xr-x  15 root root     4096 Jul 22 22:48 usr
drwxr-xr-x  16 root root     4096 Jul 22 22:51 var
root@8f0586aa8765:/# exit
exit

-Siguiente ejemplo, esta vez como ejecutar un contenedor y dejarlo corriendo indefinidamente con una tarea

sudo docker run -d ubuntu:14.04 /bin/sh -c "while true; do echo hola DriveMeca; sleep 1; done"
[sudo] password for cabrera: 
c206c1d3ee3b752a412458049eedaf5911bd1ef21c29844cf9ff80becbba6ab7

Usamos el comando run con el parámetro -d (ejecutar en background, dejarlo corriendo)  y ejecutamos unas lineas por medio de /bin/sh. Pero, este no muestra el Hola DriveMeca sino una cadena. Esta cadena es el ID o identificador del contenedor y es único para cada uno

-Buscamos los contenedores ejecutándose actualmente prestando atención a las columnas CONTAINER ID y NAMES

sudo docker ps
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS               NAMES
c206c1d3ee3b        ubuntu:14.04        /bin/sh -c 'while tr   6 minutes ago       Up 6 minutes                            grave_galileo

Docker automáticamente acorta el ID y nos crea el nombre grave_galileo para nuestro contenedor

-Visualizamos la salida del script

sudo docker logs grave_galileo | less
Hola DriveMeca
Hola DriveMeca
Hola DriveMeca
Hola DriveMeca
...
...
...

-Detenemos nuestro contenedor

sudo docker stop grave_galileo
grave_galileo

-Verificamos no se este ejecutando aun

sudo docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

-Quieres una imagen de Linux Centos? no hay problemas, usa el comando

sudo docker pull centos

-Para verificar que imágenes tenemos instaladas localmente

sudo docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
ubuntu              14.04               c4ff7513909d        2 days ago          225.4 MB
ubuntu              latest              c4ff7513909d        2 days ago          225.4 MB
centos              centos6             b1bd49907d55        2 weeks ago         212.5 MB
centos              centos7             b157b77b1a65        2 weeks ago         243.7 MB
centos              latest              b157b77b1a65        2 weeks ago         243.7 MB

Quieres mas practicas? te aconsejo el tutorial interactivo de Docker en este URL (en Ingles)
Todo el mundo esta fascinado con Docker y tu, ya lo estas usando? Para que proyectos? En que OS Linux.
Si te resulto útil este articulo, se social, haz un tweet, compártelo con otros por medio de los botones o sígueme en twitter google+ o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark

No todo esta perdido, Aun podemos recuperar la cuenta root

DriveMeca Centos Logo
Con la llegada de RedHat 7/Centos 7 también hubieron muchos cambios, incluida la forma de cambiar la contraseña de root de un servidor al cual hayamos perdido acceso. Hasta la versión 6 podíamos entrar en modo single-user o emergency y cambiar la contraseña. Esta forma ya no te funcionara en la versión 7 de estos OS y es por eso que hoy te quiero mostrar paso a paso como resetear/borrar la contraseña actual de la cuenta root haciendo unas pequeñas modificaciones a grub2 antes de hacer boot. Para este articulo mostraremos como hacerlo en un Linux Centos 7 aunque el proceso es el mismo en un Linux RedHat 7. De mas esta decir seguir los pasos con cuidado y no me responsabilizo por daños en tu configuración, tal cual muestro me funciona.

-Comenzamos haciendo boot de nuestro equipo y presionamos e encima del kernel mas actual que tengamos instalado en la pantalla de inicio de grub, es decir, el primero de arriba hacia abajo
DriveMeca reseteando contrraseña de cuenta root en Linux Centos 7

-Ya dentro de la configuración, bajamos con el cursor y agregamos al final de la linea linux o linuxefi el parámetro init=/bin/sh
DriveMeca reseteando contrraseña de cuenta root en Linux Centos 7

DriveMeca reseteando contrraseña de cuenta root en Linux Centos 7

-Eliminamos de esa misma linea los parámetros rhgb y quiet y presionamos Ctrl-x para hacer boot
DriveMeca reseteando contrraseña de cuenta root en Linux Centos 7

-Al caer en el prompt debemos volver a montar el filesystem con permisos de escritura (el filesystem estara de solo lectura o ro) o no podremos hacer el cambio de contraseña. Ejecutamos el siguiente comando

mount -o remount,rw /

-Cambiamos la contraseña con el comando

passwd root
DriveMeca reseteando contrraseña de cuenta root en Linux Centos 7

-Activamos cambios de context para que SELinux funcione bien después del boot

touch /.autorelabel

-Hora de reiniciar nuestro equipo para entrar con la nueva contraseña. Ejecutamos

exec /sbin/reboot
DriveMeca reseteando contrraseña de cuenta root en Linux Centos 7

-Al reiniciar ya podemos logearnos como root con la nueva contraseña
DriveMeca reseteando contrraseña de cuenta root en Linux Centos 7
En cuestión de minutos podemos recuperar el acceso como root a nuestro servidor en caso de perdida de contraseña. Te ha pasado ya con Centos 7? que hiciste para ganar acceso?
Si te resulto útil este articulo, se social, haz un tweet, compártelo con otros por medio de los botones o sígueme en twitter google+ o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark

Usa Linux como si estuvieras en Windows

DriveMeca Zorin OS Logo
Si nos guiamos por estadísticas, nuestro querido OS Linux aun no abarca mucho mercado en cuanto usuarios de escritorio o desktop, ya sea por falta de publicidad, por liderazgo de empresas usándolo, etc. Una de las quejas que me comentan amigos que usan Microsoft Windows al preguntarles porque no hacen el cambio a Linux es por el miedo a tener que aprender algo nuevo y depender demasiado de un ingeniero cuando quieran arreglar o hacer cambios. Bien, cada vez menos pueden usar esta excusa para dar el salto al Opensource. Les presento a Zorin OS en su versión 9, una distribución basada en Ubuntu que busca asemejarse lo mas posible a Microsoft Windows (o Mac) para que la transición sea lo menos dolorosa posible aun no siendo ingeniero de sistemas o un geek.
Sobre Zorin OS les cuento que es muy rápido, inmune a virus de Microsoft Windows (uno de los frecuentes dolores de cabeza de mis amigos) y viene con una buena cantidad de software pre instalado. Ahora si después de esta breve introducción te guiare paso a paso en como instalar Zorin OS 9

Requerimientos mínimos

  • Procesador Intel Pentium o AMD
  • 1GB RAM (recomendado)
  • 8GB Disco duro
  • 1 tarjeta de red ethernet (cable) o wifi


-Comenzamos descargando el ISO desde la pagina web de Zorin, para este articulo instalaremos la versión Core de 64 bits. Creamos un DVD desde el ISO o una USB booteable
DriveMeca instalando Zorin OS 9 paso a paso

-Hacemos boot y elegimos el idioma, en este caso Español y damos Enter
DriveMeca instalando Zorin OS 9 paso a paso

-Si queremos probar Zorin antes de instalarlo, podemos entrar por la primera opción (por ejemplo para verificar si todo nuestro hardware funciona correctamente), en nuestro caso entraremos por la segunda opción para instalarlo. Presionamos Enter
DriveMeca instalando Zorin OS 9 paso a paso

-Entramos al entorno gráfico y volvemos a elegir el idioma en caso de no mostrar el correcto y damos click al botón Continuar
DriveMeca instalando Zorin OS 9 paso a paso

-Zorin hace un pre chequeo antes de instalar verificando tengamos espacio suficiente en disco y estemos conectados a Internet (en caso de ser un portátil se sugerirá conectarlo a la corriente). Marcamos la opción de Descargar actualizaciones mientras se instala y damos click al botón Continuar
DriveMeca instalando Zorin OS 9 paso a paso

-Instalaremos en todo el disco duro (aunque podemos tener doble boot compartiendo disco con otro OS, ejemplo Microsoft Windows) y activamos la opción de Usar LVM para mas adelante poder expandir nuestro disco sin complicaciones si es el caso. Damos click al botón Instalar ahora
DriveMeca instalando Zorin OS 9 paso a paso

-Activamos nuestra zona horaria dependiendo del país donde nos encontramos. Damos click al botón Continuar
DriveMeca instalando Zorin OS 9 paso a paso

-Elegimos la distribución del teclado que estamos usando, si tenemos dudas podemos escribir en la caja de texto inferior. Damos click al botón Continuar
DriveMeca instalando Zorin OS 9 paso a paso

-Momento de crear nuestra cuenta de usuario, recomendable colocar una contraseña segura y si eres paranoico, puedes cifrar tu directorio/carpeta personal. Damos click al botón Continuar
DriveMeca instalando Zorin OS 9 paso a paso

-Comienza la instalación con una breve tonada musical, hora de ir por un café ;-)
DriveMeca instalando Zorin OS 9 paso a paso

-Al terminar se nos pedirá reiniciar y presionar Enter después de haber retirado el DVD/USB desde el que instalamos
DriveMeca instalando Zorin OS 9 paso a paso

-Hacemos boot desde nuestro instalado Zorin
DriveMeca instalando Zorin OS 9 paso a paso

DriveMeca instalando Zorin OS 9 paso a paso

-Ingresamos con nuestro usuario y contraseña
DriveMeca instalando Zorin OS 9 paso a paso

-Y este es el escritorio de Zorin OS 9 con una barra inferior, un botón de inicio y un área de notificaciones
DriveMeca instalando Zorin OS 9 paso a paso

-A los pocos segundos de estar activo se nos pedirá actualizar paquetes. Damos click al botón Instalar ahora
DriveMeca instalando Zorin OS 9 paso a paso

-Se actualiza nuestro Zorin
DriveMeca instalando Zorin OS 9 paso a paso

-Al finalizar si se instalo un nuevo Kernel, se nos pedirá reiniciar para activarlo. Damos click al botón Reiniciar ahora
DriveMeca instalando Zorin OS 9 paso a paso

-Ya de regreso podemos explorar nuestro Zorin viendo las semejanzas con Microsoft Windows lo cual ayudara a su uso por parte de nuevos usuarios
DriveMeca instalando Zorin OS 9 paso a paso

-El file manager o manejador de archivos es intuitivo y sencillo
DriveMeca instalando Zorin OS 9 paso a paso

-Mozilla Firefox es el browser predeterminado y ya viene listo para comenzar a navegar
DriveMeca instalando Zorin OS 9 paso a paso

Zorin OS 9 busca llegar a nuevos usuarios por medio de la facilidad de uso, semejanza de su interfaz gráfica a Microsoft Windows y una corta curva de aprendizaje. Después de este articulo, te animas a usarlo? Ya eres usuario de Zorin OS, cuéntanos tu experiencia aquí debajo en los comentarios.
Si te resulto útil este articulo, se social, haz un tweet, compártelo con otros por medio de los botones o sígueme en twitter google+ o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark