Artwork

Eduardo Collado에서 제공하는 콘텐츠입니다. 에피소드, 그래픽, 팟캐스트 설명을 포함한 모든 팟캐스트 콘텐츠는 Eduardo Collado 또는 해당 팟캐스트 플랫폼 파트너가 직접 업로드하고 제공합니다. 누군가가 귀하의 허락 없이 귀하의 저작물을 사용하고 있다고 생각되는 경우 여기에 설명된 절차를 따르실 수 있습니다 https://ko.player.fm/legal.
Player FM -팟 캐스트 앱
Player FM 앱으로 오프라인으로 전환하세요!

Docker personal

32:19
 
공유
 

Manage episode 278411797 series 1898587
Eduardo Collado에서 제공하는 콘텐츠입니다. 에피소드, 그래픽, 팟캐스트 설명을 포함한 모든 팟캐스트 콘텐츠는 Eduardo Collado 또는 해당 팟캐스트 플랫폼 파트너가 직접 업로드하고 제공합니다. 누군가가 귀하의 허락 없이 귀하의 저작물을 사용하고 있다고 생각되는 경우 여기에 설명된 절차를 따르실 수 있습니다 https://ko.player.fm/legal.

Cuando pensamos en cualquier tipo de virtualización por alguna razón pensamos en grandes servidores, empresas de hosting, grandes empresas, pero pocas veces pensamos en nuestros portátiles y para eso tenemos el Docker Personal.

Como ya sabéis hay muchos tipos de virtualización o de paravirtualización, KVM, VMware, LXC, Docker … en fin hay muchas soluciones en esa línea.

Y al final todas estas soluciones sirven para ayudar a grandes empresas, a PyMES, a cualquier otro tipo de organización y por supuesto, a personas individuales.

Las personas individuales también podemos usar algún tipo de virtualización si es que nos es útil y nos puede servir como herramienta.

La virtualización personal no es solo virtualbox, de hecho es probable que necesitéis algún tipo de virtualización ligera para hacer alguna tarea específica o para tener distintas configuraciones.

Docker es una herramienta maravillosa y muy ligera que nos permite virtualizar lo que se llaman contenedores en cualquier sitio, incluso nuestro portátil.

¿Para qué uso yo docker?

Evidentemente cada caso es un mundo y cada uno usa las herramientas que tiene disponible de manera diferente.

En mi caso para poder realizar mi trabajo necesito una serie de herramientas instaladas en el ordenador y tardo un rato cada vez que tengo que utilizar una máquina diferente en dejarla preparadita.

Una solución maravillosa para eso es docker.

Si utilizara, por ejemplo, Virtualbox, podría instalar una debian virtualizada y luego con Ansible hacer esto mismo, pero los recursos necesarios en docker y el tiempo de provisión no tiene nada que ver y si me sirve docker entocnes docker es la solución.

En mi caso lo único que necesito es un debian con cinc workstation, y un par de paquetes más. Las versiones tienen que ser muy concretas y tengo que incluir las configuraciones de todo esto.

Hay varias formas de hacerlo, pero quizás la más sencilla es un Dockerfile.

El Dockerfile

El Dockerfile no es más que un fichero donde le indicamos a docker como generar la imagen que necesitamos.

Una configuración muy simple sólo requiere 4 tipos de comandos diferentes:

  • FROM
  • RUN
  • ADD
  • ENTRYPOINT

Lo primero que tenemos que decirle a nuestro Dockerfile es la imagen que vamos a tomar como base, porque lo que normalmente se hace es utilizar una imagen base y a partir de ahí añadir o modificar todo lo que sea necesario.

En mi caso la imagen base es la última de debian, así que pongo

FROM debian:latest

Así cada vez que se actualice Debian y que genere de nuevo mi imagen a partir del Dockerfile la generará con la debian actualizada.

Ese FROM deberá de ser la primera línea.

Una cosa que yo siempre hago es añadir un usuario para no trabajar directamente como root, esto lo hacemos con el comando RUN seguido de la instrucción en bash para hacer esto:

 RUN useradd -rm -d /home/eduardo -s /bin/bash -g eduardo -G sudo -u 1000 eduardo

Y le ponemos una password:

RUN echo 'eduardo:mi_password' | chpasswd

Y acto seguido actualizar el sources.list para que use los repositorios españoles:

RUN sed -i 's/\/\/deb./\/\/ftp.es./g' /etc/apt/sources.list

Con eso ya tenemos los repositorios más cerca y nos irá mejor.

Ahora simplemente actualizar e instalar los paquetes que queramos:

RUN apt update RUN apt upgrade -y RUN apt install openssh-server vim-nox dnsutils whois mtr-tiny wget -y

Es muy importante ese -y en el apt install para que no haga preguntas y se instale siempre todo.

Ahora podemos hacer wget con RUN o dpkg -i también con RUN o lo que queramos, pero lo importante es que podemos añadir ficheros.

Lo ideal es tener un fichero tar.xz con los ficheros que queramos y este lo incluiremos dentro de nuestro contenedor:

ADD configuraciones.tar.xz /home/eduardo/

Este comando, el ADD descomprimirá todo el tar y lo hará en el directorio /home/eduardo. Va a descomprimer directorios y archivos de forma recursiva

Luego vais haciendo todo lo que tengáis que hacer, modificar PATH, crear enlace simbólicos, etc… lo que sea.

Y para finalizar arrancaremos ssh, hay varias formas, pero la que yo uso es siendo la última línea con un ENTRYPOINT:

ENTRYPOINT service ssh restart && bash

Con esto ya tendríamos la imagen y sólo tendríamos que desplegarla.

Para generar la imagen:

docker build -t nombre-de-la-imagen .

Desplegar el contenedor

Hay muchas formas de desplegar el contenedor, pero entiendo que quien necesite este tutorial ni es un experto en docker ni tiene ningún interés en serlo, así que vamos a usar Portainer, un GUI maravilloso para docker.

Para instalar portainer simplemente ir a https://www.portainer.io/installation/ y seguir los pasos, no tiene mayor ciencia y el copiar una línea.

Una vez abierto portainer pincharemos en la barra izquierda donde pone Containers (la imagen estará en Images) y Add Container.

Le pondremos un nombre y le pondremos el nombre de la imagen, el nombre que le hemos dado antes al ejecutar docker build.

Y abajo del todo pincharemos en la opción Command and Logging y ahí en Interactive & TTY (-i -t).

Luego en la opción Network le pondremos un hostname y un DNS, a mi me gusta indicar esto aunque no es necesario.

Y luego en restart policy yo le doy normalmente a este tipo de contenedores Unless Stopped.

Y desplegar máquina.

Lo normal es que tu máquina tenga la UP 172.17.0.3, porque la .2 será Portainer y podrás hacerle ssh si es que has instalado el ssh en el dockerfile. Si no has instalado el servidor ssh podrás entrar con un

docker attach nombre-de-la-máquina

Y ya lo tendriáis

  continue reading

129 에피소드

Artwork

Docker personal

Podcast de Redes de Eduardo Collado

57 subscribers

published

icon공유
 
Manage episode 278411797 series 1898587
Eduardo Collado에서 제공하는 콘텐츠입니다. 에피소드, 그래픽, 팟캐스트 설명을 포함한 모든 팟캐스트 콘텐츠는 Eduardo Collado 또는 해당 팟캐스트 플랫폼 파트너가 직접 업로드하고 제공합니다. 누군가가 귀하의 허락 없이 귀하의 저작물을 사용하고 있다고 생각되는 경우 여기에 설명된 절차를 따르실 수 있습니다 https://ko.player.fm/legal.

Cuando pensamos en cualquier tipo de virtualización por alguna razón pensamos en grandes servidores, empresas de hosting, grandes empresas, pero pocas veces pensamos en nuestros portátiles y para eso tenemos el Docker Personal.

Como ya sabéis hay muchos tipos de virtualización o de paravirtualización, KVM, VMware, LXC, Docker … en fin hay muchas soluciones en esa línea.

Y al final todas estas soluciones sirven para ayudar a grandes empresas, a PyMES, a cualquier otro tipo de organización y por supuesto, a personas individuales.

Las personas individuales también podemos usar algún tipo de virtualización si es que nos es útil y nos puede servir como herramienta.

La virtualización personal no es solo virtualbox, de hecho es probable que necesitéis algún tipo de virtualización ligera para hacer alguna tarea específica o para tener distintas configuraciones.

Docker es una herramienta maravillosa y muy ligera que nos permite virtualizar lo que se llaman contenedores en cualquier sitio, incluso nuestro portátil.

¿Para qué uso yo docker?

Evidentemente cada caso es un mundo y cada uno usa las herramientas que tiene disponible de manera diferente.

En mi caso para poder realizar mi trabajo necesito una serie de herramientas instaladas en el ordenador y tardo un rato cada vez que tengo que utilizar una máquina diferente en dejarla preparadita.

Una solución maravillosa para eso es docker.

Si utilizara, por ejemplo, Virtualbox, podría instalar una debian virtualizada y luego con Ansible hacer esto mismo, pero los recursos necesarios en docker y el tiempo de provisión no tiene nada que ver y si me sirve docker entocnes docker es la solución.

En mi caso lo único que necesito es un debian con cinc workstation, y un par de paquetes más. Las versiones tienen que ser muy concretas y tengo que incluir las configuraciones de todo esto.

Hay varias formas de hacerlo, pero quizás la más sencilla es un Dockerfile.

El Dockerfile

El Dockerfile no es más que un fichero donde le indicamos a docker como generar la imagen que necesitamos.

Una configuración muy simple sólo requiere 4 tipos de comandos diferentes:

  • FROM
  • RUN
  • ADD
  • ENTRYPOINT

Lo primero que tenemos que decirle a nuestro Dockerfile es la imagen que vamos a tomar como base, porque lo que normalmente se hace es utilizar una imagen base y a partir de ahí añadir o modificar todo lo que sea necesario.

En mi caso la imagen base es la última de debian, así que pongo

FROM debian:latest

Así cada vez que se actualice Debian y que genere de nuevo mi imagen a partir del Dockerfile la generará con la debian actualizada.

Ese FROM deberá de ser la primera línea.

Una cosa que yo siempre hago es añadir un usuario para no trabajar directamente como root, esto lo hacemos con el comando RUN seguido de la instrucción en bash para hacer esto:

 RUN useradd -rm -d /home/eduardo -s /bin/bash -g eduardo -G sudo -u 1000 eduardo

Y le ponemos una password:

RUN echo 'eduardo:mi_password' | chpasswd

Y acto seguido actualizar el sources.list para que use los repositorios españoles:

RUN sed -i 's/\/\/deb./\/\/ftp.es./g' /etc/apt/sources.list

Con eso ya tenemos los repositorios más cerca y nos irá mejor.

Ahora simplemente actualizar e instalar los paquetes que queramos:

RUN apt update RUN apt upgrade -y RUN apt install openssh-server vim-nox dnsutils whois mtr-tiny wget -y

Es muy importante ese -y en el apt install para que no haga preguntas y se instale siempre todo.

Ahora podemos hacer wget con RUN o dpkg -i también con RUN o lo que queramos, pero lo importante es que podemos añadir ficheros.

Lo ideal es tener un fichero tar.xz con los ficheros que queramos y este lo incluiremos dentro de nuestro contenedor:

ADD configuraciones.tar.xz /home/eduardo/

Este comando, el ADD descomprimirá todo el tar y lo hará en el directorio /home/eduardo. Va a descomprimer directorios y archivos de forma recursiva

Luego vais haciendo todo lo que tengáis que hacer, modificar PATH, crear enlace simbólicos, etc… lo que sea.

Y para finalizar arrancaremos ssh, hay varias formas, pero la que yo uso es siendo la última línea con un ENTRYPOINT:

ENTRYPOINT service ssh restart && bash

Con esto ya tendríamos la imagen y sólo tendríamos que desplegarla.

Para generar la imagen:

docker build -t nombre-de-la-imagen .

Desplegar el contenedor

Hay muchas formas de desplegar el contenedor, pero entiendo que quien necesite este tutorial ni es un experto en docker ni tiene ningún interés en serlo, así que vamos a usar Portainer, un GUI maravilloso para docker.

Para instalar portainer simplemente ir a https://www.portainer.io/installation/ y seguir los pasos, no tiene mayor ciencia y el copiar una línea.

Una vez abierto portainer pincharemos en la barra izquierda donde pone Containers (la imagen estará en Images) y Add Container.

Le pondremos un nombre y le pondremos el nombre de la imagen, el nombre que le hemos dado antes al ejecutar docker build.

Y abajo del todo pincharemos en la opción Command and Logging y ahí en Interactive & TTY (-i -t).

Luego en la opción Network le pondremos un hostname y un DNS, a mi me gusta indicar esto aunque no es necesario.

Y luego en restart policy yo le doy normalmente a este tipo de contenedores Unless Stopped.

Y desplegar máquina.

Lo normal es que tu máquina tenga la UP 172.17.0.3, porque la .2 será Portainer y podrás hacerle ssh si es que has instalado el ssh en el dockerfile. Si no has instalado el servidor ssh podrás entrar con un

docker attach nombre-de-la-máquina

Y ya lo tendriáis

  continue reading

129 에피소드

모든 에피소드

×
 
Loading …

플레이어 FM에 오신것을 환영합니다!

플레이어 FM은 웹에서 고품질 팟캐스트를 검색하여 지금 바로 즐길 수 있도록 합니다. 최고의 팟캐스트 앱이며 Android, iPhone 및 웹에서도 작동합니다. 장치 간 구독 동기화를 위해 가입하세요.

 

빠른 참조 가이드