Primers passos amb docker
La revisió el 23:46, 29 juny 2021 per Joan (discussió | contribucions) (Es crea la pàgina amb «=Introducció= (TBD, curs GDS) =Instal·lació de docker a Linux= (TBD) =Ús bàsic de docker= <pre> https://www.linux.com/training-tutorials/how-create-docker-image/...».)
Contingut
Introducció
(TBD, curs GDS)
Instal·lació de docker a Linux
(TBD)
Ús bàsic de docker
https://www.linux.com/training-tutorials/how-create-docker-image/ https://hub.docker.com/ ID: joanillo (fa el paper de username) joanqc@gmail.com / S*******44 $ sudo docker login You should just set your timezone BEFORE installing of tzdata: $ sudo docker build -t apache . triga molt de temps (es queda penjat) quan demana el timezone. Per saltar aquest pas: *https://askubuntu.com/questions/909277/avoiding-user-interaction-with-tzdata-when-installing-certbot-in-a-docker-contai # Set timezone: RUN ln -snf /usr/share/zoneinfo/$CONTAINER_TIMEZONE /etc/localtime && echo $CONTAINER_TIMEZONE > /etc/timezone ... ---> Running in d6db9c2de751 Removing intermediate container d6db9c2de751 ---> 551b4092b0be Successfully built 551b4092b0be Successfully tagged apache:latest Now let’s run the server: $ docker run -d apache a1cc4cd11320075a7ba280170a57c19ce9014a46b7d8cff2bbdabb2bd837f607 però no va bé perquè fa un exit automàtic $ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 953f000ee3b6 ea0cf22c184d "/usr/sbin/apache2 -…" 3 minutes ago Exited (1) 3 minutes ago happy_blackburn ... $ sudo docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE apache latest 551b4092b0be 3 minutes ago 186MB ... per tal de què funcioni: $ sudo docker run -t -i -d apache /bin/bash $ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 90249591a657 apache "/bin/bash" 22 seconds ago Up 21 seconds 80/tcp musing_mestorf You can kill the container with the docker kill command: $ docker kill 90249591a657 Ara ja sé fer un docker amb Apache, però això no em serveix per servir pàgines web... *https://hub.docker.com/_/httpd $ mkdir apache_meu joan@HP:~/dockerprojects$ cd apache_meu/ $ sudo docker build -t apache_meu . $ sudo docker run -dit --name el_meu_apache -p 8080:80 -d apache_meu /bin/bash d8cf69bd6d17bb9cd87178724e323ebf01adc02a2aa02186848c5accb078b836 $ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d8cf69bd6d17 apache_meu "/bin/bash" 18 seconds ago Up 17 seconds 0.0.0.0:8080->80/tcp el_meu_apache finalment el que sí ha funcionat és: *https://hub.docker.com/_/httpd (tot i que he hagut de comentar el COPY) $ docker build -t my-apache2 . $ docker run -dit --name my-running-app -p 8080:80 my-apache2
Pujar un docker a dockerhub
https://www.linuxnix.com/how-to-push-an-image-to-docker-hub/ $ sudo docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE apache latest 88cf71135dc2 30 minutes ago 186MB apache_meu latest 88cf71135dc2 30 minutes ago 186MB httpd 2.4 30287d899656 6 days ago 138MB my-apache2 latest 30287d899656 6 days ago 138MB dockp latest 9873176a8ff5 12 days ago 72.7MB ubuntu latest 9873176a8ff5 12 days ago 72.7MB hello-world latest d1165f221234 3 months ago 13.3kB darribas/gds 5.0 2d37947f8674 11 months ago 7.89GB sudo docker tag 30287d899656 joanillo/apache-server:v1 $ sudo docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE ... joanillo/apache-server v1 30287d899656 6 days ago 138MB ... $ sudo docker push joanillo/apache-server:v1 The push refers to repository [docker.io/joanillo/apache-server] dfd488a286c9: Mounted from library/httpd 15176fdb9a61: Mounted from library/httpd 61172cb5065c: Mounted from library/httpd 9fbbeddcc4e4: Mounted from library/httpd 764055ebc9a7: Mounted from library/httpd v1: digest: sha256:9d1304c0f9d348940fbc9f554e0b58ad6ef90ab6db474bb6ea1fe6991b354243 size: 1366 Ara que ja hem fet el push volem verificar si la imatge que tenim penjada la podem fer servir. primer de tot l'esborrem en local $ sudo docker image rm 30287d899656 $ sudo docker image ls ja no hi és $ sudo docker pull joanillo/apache-server:v1 v1: Pulling from joanillo/apache-server b4d181a07f80: Already exists 4b72f5187e6e: Already exists 12b2c44d04b2: Already exists ef481fc2a03a: Already exists d483d945fcab: Already exists Digest: sha256:9d1304c0f9d348940fbc9f554e0b58ad6ef90ab6db474bb6ea1fe6991b354243 Status: Downloaded newer image for joanillo/apache-server:v1 docker.io/joanillo/apache-server:v1 $ sudo docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE ... joanillo/apache-server v1 30287d899656 6 days ago 138MB ... i ara que ja me l'he descarregat, el puc arrecncar per fer-lo servir $ sudo docker run -dit --name my-running-app2 -p 8080:80 joanillo/apache-server:v1 a5b8a2cbc8fce8d053c4b88ad48ccea22e1df536afbe3110f3691046817b67cf $ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a5b8a2cbc8fc joanillo/apache-server:v1 "httpd-foreground" 29 seconds ago Up 27 seconds 0.0.0.0:8080->80/tcp my-running-app2 i ho provo en el navegador: localhost:8080 si entro a https://hub.docker.com/ puc veure el meu docker: *https://hub.docker.com/r/joanillo/apache-server
creat per Joan Quintana Compte, juny 2021