Cómo instalar Docker
En un post anterior vimos lo que es Docker y cómo funciona. También hemos visto las ventajas que tiene frente a las máquinas virtuales y sus puntos fuertes. Pero ahora vamos a ver cómo instalar Docker en un servidor VPS de Raiola Networks.
Los servidores VPS de Raiola Networks son una excelente opción para entornos Docker Engine en los que no necesitamos muchos recursos. Esto es ideal para un entorno de pruebas o un entorno en producción que no sea muy exigente, en el que no se necesite escalado ni nada complejo.![cómo instalar docker](https://cdn.raiolanetworks.com/blog/wp-content/uploads/instalardocker1-1024x263.png)
1 - Contratar y preparar el servidor VPS
En primer lugar, vamos a contratar el servidor VPS en esta misma web. Como he comentado antes, si no tienes unas necesidades específicas, el servidor VPS más pequeño te servirá.![cómo instalar docker](https://cdn.raiolanetworks.com/blog/wp-content/uploads/instalardocker2-1.png)
![instalar docker en ubuntu debian](https://cdn.raiolanetworks.com/blog/wp-content/uploads/instalardocker3.png)
![instalar docker en ubuntu debian raiola networks](https://cdn.raiolanetworks.com/blog/wp-content/uploads/instalardocker4.png)
2 - Conectarnos al servidor e instalar Docker
Ahora sí que podemos decir que vamos a empezar con la instalación de Docker. Para ello, vamos a conectarnos por SSH al servidor VPS que acabamos de contratar. Yo, como cliente SSH, siempre suelo utilizar Putty, pero puedes utilizar el cliente SSH que a ti más te guste, ya que simplemente es una herramienta. En primer lugar, tengo la manía de actualizar siempre el sistema operativo al empezar una instalación de este tipo. Así que lo primero que voy a ejecutar en mi Debian recién instalado es esto:apt-get upgrade
![docker ce instalar docker en ubuntu debian](https://cdn.raiolanetworks.com/blog/wp-content/uploads/instalardocker5.png)
apt-get install software-properties-common apt-transport-https ca-certificates curl gnupg lsb-release
![repositorio de docker CE](https://cdn.raiolanetworks.com/blog/wp-content/uploads/instalardocker6.png)
mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
![contenedor docker en ubuntu debian](https://cdn.raiolanetworks.com/blog/wp-content/uploads/instalardocker7.png)
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
![contenedor docker en ubuntu debian](https://cdn.raiolanetworks.com/blog/wp-content/uploads/instalardocker8.png)
apt-get upgradeUna vez que hemos hecho esto, vamos a usar de nuevo APT-GET para instalar los paquetes de Docker desde el repositorio de Docker:
apt-get install docker-ce docker-ce-cli containerd.io
![contenedor docker ce docker hub](https://cdn.raiolanetworks.com/blog/wp-content/uploads/instalardocker9.png)
systemctl enable docker
![contenedor docker ce docker hub](https://cdn.raiolanetworks.com/blog/wp-content/uploads/instalardocker10.png)
systemctl status docker
![docker hub contenedor](https://cdn.raiolanetworks.com/blog/wp-content/uploads/instalardocker11.png)
2.1 - Instalar Docker Compose
Si, además de instalar Docker, necesitas una herramienta para configurar y desplegar varios contenedores al mismo tiempo, debemos instalar Docker Compose. La instalación de Docker Compose realmente es simple. Debemos ejecutar el siguiente comando con APT-GET:apt-get install docker-compose-plugin
![docker ce](https://cdn.raiolanetworks.com/blog/wp-content/uploads/instalardocker12.png)
3 - Deploy de nuestro primer contenedor
En el entorno Docker existe un contenedor de prueba llamado "hello world" que nos permite probar el funcionamiento del entorno Docker Engine. Para descargar desde Docker Hub este primer contenedor, podemos utilizar el siguiente comando en nuestro terminal SSH:docker run hello-world
![docker run hello world contenedor](https://cdn.raiolanetworks.com/blog/wp-content/uploads/instalardocker13.png)
4 - Comandos básicos para Docker
Como he dicho en el otro artículo donde hablaba sobre Docker, la mayoría de los profesionales que utilizan Docker usan la línea de comandos en lugar de un panel visual como Portainer. Te voy a comentar algunos comandos básicos para el uso de Docker y la gestión de las imágenes y los contenedores. Esto no pretende ser un manual de comandos para Docker; eso queda para otro artículo.4.1 - Ver la versión de Docker
Empezamos por el comando más simple. Para ver la versión de Docker que tenemos instalada, simplemente debemos utilizar el siguiente comando:docker versionEsto es útil para saber si podemos o tenemos que actualizar Docker Engine.
4.2 - Ver información sobre nuestro Docker Engine
Existe un comando que nos va a permitir ver información sobre lo que está pasando en nuestro servidor Docker:docker infoAunque puede parecer "un tostón" toda la información que devuelve, a veces es útil para ver que está pasando en nuestro servidor.
4.3 - Ver los contenedores que se están ejecutando
Si queremos ver los contenedores que se están ejecutando en nuestro servidor, podemos utilizar el siguiente comando:docker psSi un contenedor no aparece es que puede estar creado, pero no se está ejecutando.
4.4 - Listar todos los contenedores del servidor Docker
En el caso anterior, listamos los contenedores Docker que se estaban ejecutando en el Docker Engine. En cambio, si queremos listar todos los contenedores configurados o de los que se ha hecho deploy en el servidor, debemos utilizado el siguiente comando:docker container ls -aEn los contenedores que estén parados, simplemente nos especificará la fecha de creación y la fecha de último "arrancado". Sin embargo, en los que estén funcionando nos saldrán los puertos mapeados.
4.5 - Listar las imágenes Docker que hay en el servidor
Si lo que queremos es ver que imágenes Docker se han descargado en el servidor, podemos hacerlo utilizando el siguiente comando:docker imagesAdemás, también nos especificará el tamaño de la imagen, la versión y cuándo han sido descargadas en el servidor.
4.6 - Convertir una imagen en contenedor
Para finalizar esta sección, vamos a hablar del comando "docker run", que ya hemos utilizado al ejecutar "docker run hello world" para ejecutar nuestro primer contenedor. Este comando es simple. Por ponerte un ejemplo, simplemente ejecutando el siguiente comando, vamos a descargar la imagen oficial de "Nginx" para Docker y vamos a arrancar un contenedor con los parámetros por defecto y posiblemente sin mapear ningún puerto:docker run nginxEl problema es que, normalmente, el comando "docker run" se complica al tener que añadir argumentos específicos de cada imagen para configurar cada contenedor. En la mayoría de los casos, en entornos en producción Docker se utiliza la herramienta Docker Compose en lugar de "run".
5 - Deploy de Portainer para la gestión de contenedores visual
Ahora que tenemos nuestro primer contenedor funcionando, podemos gestionarlo usando comandos o usando un entorno visual. Portainer es uno de los paneles más utilizados (incluso podemos considerarlo oficial). Para instalar Portainer, en primer lugar vamos a crear un volumen:docker volume create Portainer_dataAhora, vamos a ejecutar el "docker run" correspondiente con todos los parámetros necesarios para ejecutarse en el puerto 8000 y utilizar el volumen que hemos creado con el comando anterior:
docker run -d -p 8000:8000 -p 9443:9443 --name Portainer \ --restart=always \ -v /var/run/docker.sock:/var/run/docker.sock \ -v Portainer_data:/data \ cr.Portainer.io/Portainer/Portainer-ce:2.9.3
![comando cómo instalar contenedor docker](https://cdn.raiolanetworks.com/blog/wp-content/uploads/instalardocker14.png)
![contenedor docker hub comando](https://cdn.raiolanetworks.com/blog/wp-content/uploads/instalardocker15.png)
![sudo apt install docker sistema operativo ubuntu portainer](https://cdn.raiolanetworks.com/blog/wp-content/uploads/instalardocker16.png)
![sudo apt install docker sistema operativo ubuntu portainer](https://cdn.raiolanetworks.com/blog/wp-content/uploads/instalardocker17.png)
![docker ubuntu portainer](https://cdn.raiolanetworks.com/blog/wp-content/uploads/instalardocker18.png)