Diferència entre revisions de la pàgina «ASIX/M11/UF4/EX2»

De Lordwektabyte Wiki
Salta a la navegació Salta a la cerca
Línia 30: Línia 30:
  
 
===Prova inicial===
 
===Prova inicial===
Per a comprovar el funcionament correcte
+
Per a comprovar el funcionament correcte podem engegar un contenidor simple que ens mostrarà un "Hello World" per pantalla
 +
<source>
 +
$ docker run hello-world
 +
 
 +
 
 +
Unable to find image 'hello-world:latest' locally
 +
latest: Pulling from library/hello-world
 +
1b930d010525: Pull complete
 +
Digest: sha256:2557e3c07ed1e38f26e389462d03ed943586f744621577a99efb77324b0fe535
 +
Status: Downloaded newer image for hello-world:latest
 +
 
 +
Hello from Docker!
 +
This message shows that your installation appears to be working correctly.
 +
 
 +
To generate this message, Docker took the following steps:
 +
1. The Docker client contacted the Docker daemon.
 +
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
 +
    (amd64)
 +
3. The Docker daemon created a new container from that image which runs the
 +
    executable that produces the output you are currently reading.
 +
4. The Docker daemon streamed that output to the Docker client, which sent it
 +
    to your terminal.
 +
 
 +
To try something more ambitious, you can run an Ubuntu container with:
 +
$ docker run -it ubuntu bash
 +
 
 +
Share images, automate workflows, and more with a free Docker ID:
 +
https://hub.docker.com/
 +
 
 +
For more examples and ideas, visit:
 +
https://docs.docker.com/get-started/
 +
 
 +
</source>
 +
 
 +
En tots els casos, si no tenim localment la còpia de la imatge del contenidor que volem descarregar, Docker la cercarà als repositoris públics (Docker Hub) i la copiarà al sistema per si es necessita més endavant.
 +
Després d'executar la comanda veiem que, segons sembla, tot és correcte i ja tenim a punt l'entorn per a virtualitzar contenidors.

Revisió del 18:27, 24 març 2019

Objectius

  • Instal·lar l'entorn Docker (seguir indicacions als docs de Docker).
  • Comprovar que funciona (docker run...).
  • Crear un compte al DockerHub i iniciar sessió en entorn de comandes.
  • Busqueu al DockerHub quines imatges oficials de Debian hi ha disponibles.
  • Crear el primer contenidor Docker amb Ubuntu (a partir de la imatge oficial), en mode interactiu.
  • Desconectar-se del contenidor i tornar-s'hi a connectar.
  • Crear un Dockerfile mínim per a generar un contenidor partint d'una imatge Debian Wheezy.

Procediment

Instal·lació de l'entorn

Tenint en compte que estic sobre Fedora 29, instal·larem l'entorn de Docker de la següent manera (com a root):

dnf install docker-ce

Després d'instal·lar, engegarem i habilitarem el servei de Docker perquè s'engegui automàticament on boot

systemctl start docker
systemctl enable docker

Pot ser interessant executar comandes de Docker sense necessitat de permisos de superusuari root; pel que podem afegir el nostre usuari al grup docker del Linux. Assumint que la instal·lació ha creat un nou grup d'Unix amb el nom docker, afegiré el meu usuari en aquest grup.

usermod -aG docker guillem
Nota: per tal de gaudir dels privilegis d'aquest nou grup, l'usuari haurà de tancar sessió i tornar a autenticar-se al sistema per tal que es reavaluïn els seus grups. Fins llavors no serà possible arrencar contenidors, per exemple, sense fer login amb root. Així doncs, podem tancar sessió al sistema i tornar a entrar abans de seguir amb els següents passos si volem fer-ho amb el nostre usuari no-privilegiat.

Prova inicial

Per a comprovar el funcionament correcte podem engegar un contenidor simple que ens mostrarà un "Hello World" per pantalla

$ docker run hello-world


Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete 
Digest: sha256:2557e3c07ed1e38f26e389462d03ed943586f744621577a99efb77324b0fe535
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

En tots els casos, si no tenim localment la còpia de la imatge del contenidor que volem descarregar, Docker la cercarà als repositoris públics (Docker Hub) i la copiarà al sistema per si es necessita més endavant. Després d'executar la comanda veiem que, segons sembla, tot és correcte i ja tenim a punt l'entorn per a virtualitzar contenidors.