logo

Què és Docker?

Docker és un conjunt de productes de plataformes com a servei (PaaS) que utilitzen la virtualització a nivell de sistema operatiu per oferir programari en paquets anomenats contenidors. Els contenidors estan aïllats els uns dels altres i agrupen el seu propi programari, biblioteques i fitxers de configuració; poden comunicar-se entre ells a través de canals ben definits. Tots els contenidors estan executats per un únic nucli de sistema operatiu i, per tant, utilitzen menys recursos que una màquina virtual.

Taula de contingut



Què és Docker?

Docker és un codi obert contenidorització plataforma mitjançant la qual podeu empaquetar la vostra aplicació i totes les seves dependències en una unitat estandarditzada anomenada contenidor. Els contenidors són lleugers, cosa que els fa portàtils i estan aïllats de la infraestructura subjacent i els uns dels altres contenidors. Podeu executar el imatge docker com un contenidor docker en qualsevol màquina on s'instal·li Docker sense dependre del sistema operatiu.

Docker va guanyar la seva popularitat a causa del seu impacte en el desenvolupament i desplegament de programari. Les següents són algunes de les principals raons per les quals Docker es fa popular:

  1. Portabilitat: Docker facilita als desenvolupadors empaquetar les seves aplicacions amb totes les dependències en un únic contenidor lleuger. Facilita la garantia del rendiment coherent en els diferents entorns informàtics.
  2. Reproductibilitat: Mitjançant l'encapsulació de les aplicacions amb les seves dependències dins d'un contenidor, garanteix que les configuracions de programari es mantinguin coherents en els entorns de desenvolupament, proves i producció.
  3. Eficiència: Docker mitjançant la seva arquitectura basada en contenidors optimitza la utilització dels recursos. Permet als desenvolupadors executar les múltiples aplicacions aïllades en un sol sistema amfitrió.
  4. Escalabilitat: Les funcions d'escalabilitat de Docker van facilitar que els desenvolupadors facilitessin el maneig de les seves aplicacions en el moment de l'increment de les càrregues de treball.

Què és un Dockerfile?

El Dockerfile utilitza DSL (Domain Specific Language) i conté instruccions per generar una imatge Docker. Dockerfile definirà els processos per produir ràpidament una imatge. Mentre creeu la vostra aplicació, hauríeu de crear un Dockerfile en ordre des del Dimoni Docker executa totes les instruccions de dalt a baix.



(El dimoni Docker, sovint anomenat simplement Docker, és un servei en segon pla que gestiona els contenidors Docker en un sistema.)

  • És un document de text que conté les ordres necessàries que en executar-los ajuden a muntar una imatge Docker.
  • La imatge Docker es crea amb un Dockerfile.
Dockerfile

Per saber més sobre el Dockerfile, consulteu el Docker: concepte de Dockerfile .

Què és l'arquitectura Docker i com funciona Docker?

Docker fa ús d'una arquitectura client-servidor. El client Docker parla amb el dimoni docker que ajuda a crear, executar i distribuir els contenidors docker. El client Docker s'executa amb el dimoni al mateix sistema o podem connectar el client Docker amb el dimoni Docker de forma remota. Amb l'ajuda de l'API REST a través d'un sòcol UNIX o una xarxa, el client docker i el dimoni interactuen entre ells. Per obtenir més informació sobre el funcionament de Docker, consulteu la pàgina Arquitectura de Docker .



Arquitectura Docker

Què és Docker Image?

És un fitxer, format per diverses capes, que s'utilitza per executar codi en un contenidor Docker. Són un conjunt d'instruccions que s'utilitzen per crear contenidors docker. Docker Image és un paquet de programari executable que inclou tot el necessari per executar una aplicació. Aquesta imatge informa com s'ha d'instanciar un contenidor, determinant quins components de programari s'executaran i com. Docker Container és un entorn virtual que agrupa el codi de l'aplicació amb totes les dependències necessàries per executar l'aplicació. L'aplicació s'executa de manera ràpida i fiable d'un entorn informàtic a un altre.

Què és Docker Container?

El contenidor Docker és una instància d'execució d'una imatge. Permet als desenvolupadors empaquetar aplicacions amb totes les parts necessàries, com ara biblioteques i altres dependències. Els contenidors Docker són instàncies en temps d'execució d'imatges de Docker. Els contenidors contenen tot el kit necessari per a una aplicació, de manera que l'aplicació es pot executar de manera aïllada. Per exemple. Suposem que hi ha una imatge del sistema operatiu Ubuntu amb NGINX SERVER quan aquesta imatge s'executa amb l'ordre docker run, llavors es crearà un contenidor i NGINX SERVER s'executarà al sistema operatiu Ubuntu.

convertir int en cadena java

Què és Docker Hub?

Docker Hub és un servei de dipòsit i és un servei basat en núvol on la gent envia les seves imatges de contenidors Docker i també treu les imatges de contenidors Docker del Docker Hub en qualsevol moment o lloc a través d'Internet. En general, facilita la cerca i la reutilització d'imatges. Proporciona funcions com ara que podeu enviar les vostres imatges com a registre privat o públic on podeu emmagatzemar i compartir imatges de Docker.

Principalment, l'equip de DevOps utilitza Docker Hub. És una eina de codi obert i disponible gratuïtament per a tots els sistemes operatius. És com un emmagatzematge on emmagatzemem les imatges i tirem de les imatges quan cal. Quan una persona vol empènyer/treure imatges del Docker Hub, ha de tenir uns coneixements bàsics de Docker. Parlem dels requisits de l'eina Docker.

Què és Docker Compose?

Docker Compose executarà una aplicació multicontenidor basada en YAML. El fitxer YAML consta de totes les configuracions necessàries per desplegar contenidors Docker Compose , amb la qual s'integra Docker Swarm , i proporciona instruccions per construir i desplegar contenidors. Amb Docker Compose, cada contenidor es construeix per executar-se en un únic host.

Com descarregar Docker Desktop?

Docker Desktop proporciona una GUI per treballar en contenidors Docker, imatges Docker i xarxes Docker. L'escriptori Docker ofereix un entorn separat que conté Docker Engine, Docker CLI, Docker Compose, Kubernetes, i altres eines que es necessiten per construir, enviar i executar les aplicacions en forma de contenidors, cosa que la fa més fàcil d'utilitzar. Per saber més com instal·lar Docker Desktop, consulteu Imatge de mostra d'escriptori Docker.

Ordres Docker

Mitjançant la introducció de les ordres essencials de Docker, Docker es va convertir en un programari potent per racionalitzar el procés de gestió de contenidors. Ajuda a garantir uns fluxos de treball de desenvolupament i desplegament perfectes. Les següents són algunes de les ordres de Docker que s'utilitzen habitualment:

  • Docker Run: S'utilitzava per llançar els contenidors des d'imatges, especificant les opcions i les ordres de temps d'execució.
  • Docker Pull: Obté les imatges del contenidor del registre de contenidors com Docker Hub a la màquina local.
  • Docker ps : ajuda a mostrar els contenidors en funcionament juntament amb la seva informació important com l'identificador del contenidor, la imatge utilitzada i l'estat.
  • Docker Stop : Ajuda a aturar els contenidors en funcionament, tancant amb gràcia els processos dins d'ells.
  • Inici de Docker: Ajuda a reiniciar els contenidors aturats, reprendre les seves operacions des de l'estat anterior.
  • Inici de sessió de Docker: Ajuda a iniciar sessió al registre docker que permet l'accés als dipòsits privats.

Per obtenir més informació sobre les ordres de docker, consulteu el Docker - Ordres d'instrucció .

Docker Engine

El programari que allotja els contenidors s'anomena Docker Engine. Docker Engine és una aplicació basada en client-servidor. El motor Docker té 3 components principals:

  1. Servidor: És responsable de crear i gestionar imatges, contenidors, xarxes i volums de Docker a Docker. Es coneix com un procés dimoni.
  2. API REST : Especifica com les aplicacions poden interactuar amb el servidor i li indica què ha de fer.
  3. Client: El client és una interfície de línia d'ordres (CLI) de Docker, que ens permet interactuar amb Docker mitjançant les ordres de Docker.

Per què utilitzar Docker?

Docker es pot utilitzar per empaquetar l'aplicació i les seves dependències, cosa que fa que sigui lleuger i fàcil d'enviar el codi més ràpid i amb més fiabilitat. Docker fa que sigui molt senzill executar l'aplicació a l'entorn de producció. El contenidor docker pot ser independent de la plataforma si el motor docker està instal·lat a la màquina.

  • Eficiència dels recursos : Docker ajuda a maximitzar la utilització dels recursos executant diversos contenidors en un sol host. Ajuda a reduir els costos d'infraestructura i millora l'eficiència.
  • Control de versions: Simplifica la versió de les aplicacions i les seves dependències assegurant la coherència i facilitant la col·laboració entre els equips.
  • Agilitat de microserveis: Permet l'adopció d'arquitectura de microserveis, promovent l'escalabilitat, la flexibilitat i el desenvolupament àgil d'aplicacions d'aïllament d'errors.

Què és Docker For AWS?

Docker és l'eina més potent per executar l'aplicació en forma de contenidors. Els contenidors Docker són lleugers i es poden executar en qualsevol sistema operatiu.

AWS ofereix l'Amazon Elastic Container Service ( Amazon ECS ) és un servei de contenidors totalment gestionat pel qual podeu implementar, escalar i gestionar els contenidors Docker. Amazon ECS és la plataforma més fiable segons el rendiment i també es pot integrar amb altres serveis d'AWS, com ara l'equilibri de càrrega, el descobriment de serveis i la supervisió de la salut dels contenidors. Per saber-ne més Amazon Elastic Container Service (Amazon ECS) .

Diferència entre els contenidors Docker i les màquines virtuals

A continuació es mostren les diferències entre els contenidors Docker i les màquines virtuals:

Contenidors Docker

es5 vs es6

Màquines virtuals

Els contenidors Docker contenen binaris, biblioteques i fitxers de configuració juntament amb l'aplicació mateixa.

Les màquines virtuals (VM) s'executen en hipervisors, que permeten que diverses màquines virtuals s'executin en una única màquina juntament amb el seu propi sistema operatiu.

No contenen un sistema operatiu convidat per a cada contenidor i es basen en el nucli del sistema operatiu subjacent, cosa que fa que els contenidors siguin lleugers.

Cada màquina virtual té la seva pròpia còpia d'un sistema operatiu juntament amb l'aplicació i els binaris necessaris, la qual cosa la fa molt més gran i requereix més recursos.

Els contenidors comparteixen recursos amb altres contenidors del mateix sistema operatiu amfitrió i proporcionen un aïllament de processos a nivell de sistema operatiu.

Proporcionen un aïllament de processos a nivell de maquinari i són lents d'arrencar.

Instal·leu Docker a Ubuntu

Els passos següents us guien en la instal·lació de docker a ubuntu:

Pas 1: elimineu la versió antiga de Docker

  • Executeu l'ordre següent per eliminar l'antic programari docker versionat:
$ sudo apt-get remove docker docker-engine docker.io containerd runc>

Pas 2: instal·lació de Docker Engine

  • L'ordre següent s'utilitza per a la instal·lació del motor docker:
$ sudo apt-get update   $ sudo apt-get install   ca-certificates   curl   gnupg   lsb-release $ sudo mkdir -p /etc/apt/keyrings $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg $ echo   'deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu   $(lsb_release -cs) stable' | sudo tee /etc/apt/sources.list.d/docker.list>/dev/null $ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin $ sudo groupadd docker $ sudo usermod -aG docker $USER>

Pas 3: verifiqueu la instal·lació de Docker

  • Comproveu si Docker s'ha instal·lat correctament al vostre sistema provant d'executar un contenidor amb l'ordre següent:
$ sudo docker run hello-world>

Per obtenir més detalls sobre la instal·lació de docker a ubuntu, consulteu això: Article

Exemple d'exemple: aplicació en contenidors mitjançant Docker

Les guies de passos següents per a l'envasament de l'aplicació mitjançant Docker:

Pas 1: creeu l'aplicació Dokcerfile i Python

  • Creeu una carpeta amb 2 fitxers (Dockerfile i main.py).

Pas 2: Desenvolupa el codi Python

  • Editeu main.py amb el codi següent, o bé podeu provar de desenvolupar el vostre propi codi Python.
Python
#!/usr/bin/env python3 print('Docker and GFG rock!')>

Pas 3: Desenvolupa un Dockerfile

  • Editeu Dockerfile amb les instruccions següents per desenvolupar el Dockerfile:
FROM python:latest COPY main.py / CMD [ 'python', './main.py' ]>

Pas 4: creeu una imatge de Docker

  • Un cop hàgiu creat i editat el fitxer main.py i el fitxer Dockerfile, creeu la vostra imatge que contingui la vostra aplicació executant l'ordre següent:
$ sudo docker build -t python-test .>
  • L'opció '-t' permet definir el nom de la teva imatge. 'python-test' és el nom que hem triat per a la imatge.

Pas 5: executeu Docker Container

  • Un cop creada la imatge, el vostre codi està a punt per llançar-se.
$ sudo docker run python-test>

Per saber més sobre aquesta contenidorització de la vostra aplicació, consulteu això: Article

Exemple d'exemple per enviar una imatge a Docker Hub

Els passos següents guien per enviar una imatge al Dockerhub:

Pas 1: Creeu un compte a Docker Hub o utilitzeu-ne un existent si ja en teniu un.

Pas 2: Feu clic al botó Crea un repositori, poseu el nom del fitxer i feu clic a Crear.

java int a char

Pas 3: Ara etiquetarem la nostra imatge i la enviarem al dipòsit de Docker Hub que acabem de crear.

  • Ara, executeu l'ordre següent per llistar les imatges de Docker:
$ docker images>
  • L'anterior ens donarà aquest resultat
REPOSITORY TAG IMAGE_ID CREATED SIZE afrozchakure/python-test latest c7857f97ebbd 2 hours ago 933MB>
  • L'identificador de la imatge s'utilitza per etiquetar la imatge. La sintaxi per etiquetar la imatge és:
docker tag /python-test:latest $ docker tag c7857f97ebbd afrozchakure/python-test:latest>

Pas 4: Envieu la imatge al dipòsit de Docker Hub

$ docker push afrozchakure/python-test>

Per obtenir més informació sobre la publicació de les imatges a dockerhub, consulteu això: Article

Obteniu i executeu la imatge des de Docker Hub

1. Per eliminar totes les versions d'una imatge concreta del nostre sistema local, utilitzem l'identificador d'imatge.

$ docker rmi -f af939ee31fdc>

2. Ara executeu la imatge, recuperarà la imatge del concentrador docker si no existeix a la vostra màquina local.

$ docker run afrozchakure/python-test>

Beneficis de Docker

Els següents són alguns dels avantatges de Docker:

  • Portabilitat: Instal·lacions Docker amb la creació de contenidors portàtils lleugers que no es poden utilitzar en cap màquina independentment dels sistemes operatius subjacents.
  • Aïllament: Docker a través de contenidors proporciona un alt nivell d'aïllament que permet que les aplicacions s'executin de manera independent les unes de les altres abordant els problemes que un contenidor no afecta a l'altre.
  • Reproductibilitat: Amb, els desenvolupadors de Docker poden empaquetar fàcilment les seves aplicacions i les seves dependències en imatges reutilitzables. Permet compilacions coherents i repoducibles en els entorns de desenvolupament, proves i producció.
  • Integració DevOps : promou la col·laboració i l'automatització al llarg del cicle de vida del desenvolupament de programari en la gestió de les càrregues de treball creixents.

Alternatives de Docker

Les següents són les alternatives de Docker:

  • Submit : Ofereix un motor de contenidors compatible amb Docker centrat en la seguretat i la compatibilitat, ideal per a entorns on Docker no es prefereix ni està disponible.
  • rkt: Un temps d'execució de contenidors lleuger desenvolupat per CoreOS, dissenyat per a la simplicitat, la seguretat i la composició, que ofereix una alternativa al temps d'execució de contenidors de Docker.
  • LXC (contenidors Linux): Proporciona virtualització a nivell de sistema operatiu per executar diversos sistemes Linux aïllats (contenidors) en un únic host, oferint una alternativa lleugera a Docker per a determinats casos d'ús.
  • contenidor: Un temps d'execució de contenidors bàsic estàndard de la indústria desenvolupat per Docker, Inc., que ofereix una plataforma mínima i estable per crear aplicacions en contenidors, que sovint s'utilitza com a alternativa de nivell inferior a Docker per a sistemes d'orquestració de contenidors més avançats com Kubernetes.

Docker Security

A continuació es mostren algunes de les estadístiques sobre la seguretat de Docker:

  • Aïllament : Els contenidors Docker ofereixen un fort aïllament que garanteix les aplicacions i processa el seu funcionament.
  • Infraestructura immutable : promou l'ús d'infraestructura immutable, on els contenidors es construeixen a partir d'imatges immutables que estan controlades per versions.
  • Limitacions de recursos: Us permet definir les restriccions de recursos per als contenidors, com ara els límits de la CPU i la memòria.
  • Escaneig de seguretat: Proporciona les eines d'escaneig de seguretat integrades que us permeten escanejar les imatges del contenidor per detectar vulnerabilitats conegudes i programari maliciós abans del desplegament.

Conclusió

Així doncs, heu après els conceptes bàsics de Docker, la diferència entre les màquines virtuals i els contenidors Docker al llarg d'algunes terminologies habituals a Docker. A més, vam passar per la instal·lació de Docker als nostres sistemes. Hem creat una aplicació amb Docker i hem enviat la nostra imatge a Docker Hub. Finalment, vam aprendre com podríem eliminar una imatge concreta del nostre sistema local i, més tard, treure la imatge de Docker Hub si no existeix localment.

Docker - Preguntes freqüents

Què és Docker Hub en resum?

Docker Hub és un registre públic on els usuaris/desenvolupadors poden emmagatzemar i compartir imatges del sistema creades per ells i fer-les accedir fàcilment i reutilitzar imatges per a altres desenvolupadors de programari.

Què es necessita per utilitzar Docker Hub?

Per utilitzar Docker Hub, l'usuari ha de tenir un compte a la plataforma Docker Hub. Si no teniu cap compte a Docker Hub, podeu crear-ne un cantant. Un cop tingueu un compte a Docker, podeu realitzar operacions com ara empènyer i treure imatges cap a i des de Docker Hub.

Què són els Docker Logs?

El dimoni Docker i els contenidors de Docker generaran els registres de Docker en forma de missatges de text que us ajudaran a resoldre problemes, supervisar el rendiment de les vostres aplicacions i recopilar informació sobre l'estat del vostre entorn Docker.

Què és Docker Build?

Docker build és una ordre que s'utilitza per crear la imatge Docker mitjançant el Dockerfile.

Què és Docker Ubuntu?

Docker Ubuntu és el terme utilitzat per utilitzar el servei Docker amb sistemes operatius basats en Ubuntu. Executar Docker és el més adequat per a la popular distribució de Linux Ubuntu.