Docker es la tecnología más revolucionada en el mundo de la virtualización en la actualidad. Docker es en realidad un proyecto de código abierto que proporciona tecnología de contenedores. Un contenedor es una VM (máquina virtual) liviana o un proceso que nos permite instalar aplicaciones basadas en Linux en su interior. El contenedor no tiene su propio kernel, RAM, CPU y disco, pero utiliza el kernel, la RAM, los núcleos de CPU y el disco subyacentes del sistema operativo.
El contenedor proporciona aislamiento de base de procesos donde las máquinas virtuales proporcionan aislamiento basado en recursos. El principal beneficio de los contenedores es que podemos aprovisionar un contenedor en menos de un segundo porque lanzar un contenedor en realidad es iniciar un proceso en Linux.
En este artículo, discutiremos cómo instalar y configurar community docker-ce (edición comunitaria) en Ubuntu 18.04/16.04 LTS, el requisito previo de Docker-CE se enumera a continuación:
- Sistema operativo de 64 bits
- Kernel versión 3.10 o superior
Paso: 1 Actualice la base de datos del paquete usando el siguiente comando
Primero actualicemos la base de datos de paquetes usando ‘actualización adecuadacomando
[email protected]:~$ sudo apt update
Paso: 2 Agregue la clave GPG para el repositorio oficial de Docker
El paquete del motor Docker no está disponible en los repositorios predeterminados del servidor Ubuntu 16.04. Agreguemos la clave GPG para el repositorio docker usando el siguiente comando.
[email protected]:~$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - OK [email protected]:~$
Ahora agregue el repositorio docker-ce usando ‘apt-add-repositoriocomando
[email protected]:~$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Actualice el índice del paquete nuevamente ya que hemos agregado el repositorio docker-ce
[email protected]:~$ sudo apt update
Paso: 3 Instale el paquete del motor docker usando el comando apt.
Ejecute el siguiente comando apt-get para instalar la última versión docker-ce
[email protected]:~$ sudo apt-get install docker-ce docker-ce-cli containerd.io -y
Una vez que el motor de la ventana acoplable esté instalado, inicie y habilite el servicio de la ventana acoplable utilizando los siguientes comandos
[email protected]:~$ sudo systemctl start docker [email protected]:~$ sudo systemctl enable docker
Ahora este servidor funcionará como Docker Engine o Container Engine. También se crea un puente que actuará como conmutador L2 y proporcionará la dirección IP a los contenedores desde su propio servidor DHCP.
Verifique la versión de Docker y otros parámetros clave de Docker usando ‘información de la ventana acoplablecomando
[email protected]:~$ sudo docker info
Agregue su nombre de usuario al grupo docker usando ‘modo de usuario‘ comando, en mi caso el nombre de usuario es ‘linuxtechi‘
[email protected]:~$ sudo usermod -aG docker linuxtechi
La parte de instalación de Docker ya está completa, familiaricémonos con algunos comandos básicos de Docker con ejemplos.
Sintaxis del comando Docker:
# ventana acoplable {opciones} comando {argumentos…}
Para enumerar las opciones del comando docker, escriba ‘estibador‘ en la terminal
Cada vez que se instala el motor docker, el servidor de registro predeterminado se actualiza en el comando docker. Cuando ejecutamos el comando docker para descargar y buscar imágenes, irá al servidor de registro para buscar la imagen docker mencionada. Aunque podemos cambiar esta dirección de registro según nuestra configuración.
Buscar imágenes de Docker usando el comando ‘búsqueda de docker’
Supongamos que queremos buscar la última imagen de la ventana acoplable centos.
[email protected]:~$ sudo docker search centos
Descargue imágenes de Docker usando el comando ‘docker pull’
Supongamos que queremos descargar la imagen acoplable de Ubuntu 16.04.
[email protected]:~$ sudo docker pull ubuntu:16.04
Del mismo modo, podemos descargar las otras imágenes del sistema operativo Linux según nuestros requisitos
Una vez que la imagen se descarga, se almacena localmente en el repositorio de imágenes del host Docker. Podemos listar las imágenes disponibles en nuestro repositorio local usando ‘Imágenes de dockercomando.
[email protected]:~$ sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu 16.04 104bec311bcd 9 days ago 129 MB
Aprovisione o inicie un contenedor usando el comando de ejecución de docker
Supongamos que queremos aprovisionar un contenedor Ubuntu 16:04.
[email protected]:~$ sudo docker run -it --name=mycontainer1 ubuntu:16.04 [email protected]:/#
En el comando anterior ‘I‘ significa interactivo y ‘t‘ significa terminal y el nombre del contenedor es ‘micontenedor1‘ y la imagen del contenedor es ‘ubuntu:16.04’
Nota: En caso de que no mencionemos la versión del sistema operativo, intentará proporcionar la última.
Para detener el tipo de contenedor ‘Salida‘ en la consola del contenedor. Si no desea detener el contenedor pero desea volver a la consola del motor acoplable, escriba ‘ctrl+p+q‘ en la consola del contenedor.
Verifique cuántos contenedores se están ejecutando actualmente
Utilizando ‘ventana acoplable pd‘ podemos enumerar los contenedores en ejecución y enumerar todos los contenedores, ya sea que estén en ejecución o detenidos use ‘ventana acoplable ps -a‘
[email protected]:~$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b5cdf552b56c ubuntu:16.04 "/bin/bash" 9 minutes ago Up 9 minutes mycontainer1 [email protected]:~$
Detener un contenedor usando el comando de parada de la ventana acoplable
Detengamos mi contenedor aprovisionado recientemente «mycontainer1»
[email protected]:~$ sudo docker stop mycontainer1 mycontainer1 [email protected]:~$ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b5cdf552b56c ubuntu:16.04 "/bin/bash" 15 minutes ago Exited (0) About a minute ago mycontainer1
Iniciar y adjuntar al contenedor ‘mycontainer1’
usar ‘ventana acoplable iniciar {container_name}‘ comando para iniciar un contenedor y para obtener la consola del contenedor use el comando ‘ventana acoplable adjuntar {container_name}‘
[email protected]:~$ sudo docker start mycontainer1 mycontainer1 [email protected]:~$ sudo docker attach mycontainer1 [email protected]:/#
Inicio de un contenedor en modo separado.
Supongamos que queremos aprovisionar un contenedor más con el nombre ‘mycontainer2’ de la imagen de la ventana acoplable centos7 en modo separado (es decir, el contenedor se iniciará en segundo plano y no obtendrá la consola), para obtener la consola, use el comando de conexión de la ventana acoplable
[email protected]:~$ sudo docker run -dit --name=mycontainer2 centos:7 5efb063260c8d328cf685effa05a610dfbf55ef602c7b14296d27668d9ff004d [email protected]:~$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5efb063260c8 centos:7 "/bin/bash" 28 seconds ago Up 28 seconds mycontainer2 b5cdf552b56c ubuntu:16.04 "/bin/bash" 28 minutes ago Up 9 minutes mycontainer1
Enlace de puertos de contenedores al host del motor de Docker
De forma predeterminada, los contenedores pueden llegar al mundo exterior y cada conexión saliente aparecerá como si la solicitud viniera de la dirección IP del host de la ventana acoplable, pero desde el mundo exterior nadie llega a los contenedores.
Usando el método de traducción de puertos, permitimos que personas ajenas lleguen a nuestros contenedores.
Supongamos que quiero alojar un sitio web dentro de un contenedor y los desarrolladores web accederán a este contenedor a través de ssh
[email protected]:~$ sudo docker run -it -p 8000:80 -p 2000:22 --name=myserver1 centos:7 [[email protected] /]#
En el comando anterior -pags La opción se usa para pating (traducción de la dirección del puerto). Desde el mundo exterior, si alguien intenta hacer ssh con la dirección IP del host de mi ventana acoplable en el puerto 2000, entonces su solicitud se reenviará al puerto 22 en el contenedor «myserver1» y de manera similar solicitará en el puerto 8000 se reenviará al puerto 80 en el contenedor (myserver1)
[email protected]:~$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ce0375f922cc centos:7 "/bin/bash" 6 minutes ago Up 6 minutes 0.0.0.0:2000->22/tcp, 0.0.0.0:8000->80/tcp myserver1 5efb063260c8 centos:7 "/bin/bash" 38 minutes ago Up 38 minutes mycontainer2 b5cdf552b56c ubuntu:16.04 "/bin/bash" About an hour ago Up 47 minutes mycontainer1
Confirmar cambios de un contenedor a una imagen de Docker
En el comando docker, tenemos la opción de confirmación para guardar los cambios del contenedor en una imagen docker. Supongamos que en el contenedor anterior hemos instalado un servidor web y queremos guardar estos cambios en una imagen acoplable para que en el futuro podamos iniciar el contenedor del servidor web desde la imagen acoplable.
[email protected]:~$ sudo docker commit -m "Web Service added" -a "Sunday Dec 25 2016" ce0375f922cc myserver1:v1 sha256:cac1bdb1d48a381c8bac0573dcd888e9595564f5a428bc6d1d3e97b823f646da [email protected]:~$ [email protected]:~$ sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE myserver1 v1 cac1bdb1d48a 25 seconds ago 191.8 MB <none> <none> d695e1b36b68 49 seconds ago 191.8 MB centos 7 67591570dd29 9 days ago 191.8 MB ubuntu 16.04 104bec311bcd 9 days ago 129 MB
Terminar/eliminar contenedores usando el comando ‘docker rm’
Usar ‘ventana acoplable rm‘ comando para eliminar contenedores en función de sus nombres e identificaciones. Antes de eliminar un contenedor, asegúrese de que esté detenido.
[email protected]:~$ sudo docker rm mycontainer2 mycontainer2 [email protected]:~$
Para eliminar un contenedor en ejecución
[email protected]:~$ sudo docker rm -f mycontainer2
Eliminación de imágenes de Docker del repositorio de imágenes local del host
‘ventana acoplable rmiEl comando ‘ se usa para eliminar o eliminar imágenes acoplables del repositorio de imágenes local del host
[email protected]:~$ sudo docker rmi myserver1:v1 Untagged: myserver1:v1 Deleted: sha256:cac1bdb1d48a381c8bac0573dcd888e9595564f5a428bc6d1d3e97b823f646da [email protected]:~$
Nota: También podemos cargar nuestras imágenes de ventana acoplable personalizadas en el centro de la ventana acoplable mediante el comando push de la ventana acoplable, pero primero debemos crear nuestra cuenta en el centro de la ventana acoplable y ejecutar los siguientes comandos desde la terminal
[email protected]:~$ sudo docker login -u docker-registry-{user_name} [email protected]:~$ sudo docker push docker-registry-{user_name}/{docker_image_name}
Eso es todo por este artículo. Espero que tenga una idea de cómo trabajar con contenedores. Comparta sus valiosos comentarios y opiniones.