- Mensajes: 10
- Karma: 1
- Gracias recibidas: 9
Valencia, España
Hola,
Para el taller de Docker que se celebrará de forma PRESENCIAL, el 1 de diciembre en Linux Center Valencia ¿qué nivel de taller queréis?
De iniciación? de nivel medio? de avanzado?
Gracias
Para apuntarse al taller:
linuxcenter.es/aprende/proximos-eventos/38-docker
Por favor, Identificarse para unirse a la conversación.
Yo, de hecho, querría apuntarme solo si es de iniciación, porque si no, no me voy a enterar de mucho y prefiero no ocupar una plaza en ese caso. ¿Qué debería hacer?
Por favor, Identificarse para unirse a la conversación.
Yo tampoco tengo ni idea. Iniciación...
Por favor, Identificarse para unirse a la conversación.
Mi idea en un principio es ofrecer un nivel de introduccion y que se pueda llegar a nivel medio. Todo depende de lo que se pueda apretar o no. Tampoco tengo yo tantos conocimientos para dar un curso de Docker avanzado. Asi que tratare de que todo el mundo se vaya lo mas contento posible.
Por favor, Identificarse para unirse a la conversación.
Me parece perfecto!
Por favor, Identificarse para unirse a la conversación.
Yo finalmente he tenido un cambio de planes en el trabajo y me va a ser imposible asistir. =(
Ni siquiera me llegué a inscribir, pero sí que dije que prefería iniciación.
¡Muchas gracias por el esfuerzo y mucha suerte con el curso!
Por favor, Identificarse para unirse a la conversación.
Excelente el curso... buen nivel para iniciar... ! los felicito continuen en este camino abrazos!
Por favor, Identificarse para unirse a la conversación.
Como comente, aqui tengo el guion. Es mas un borrador, porque no es exactamente todo lo que explique. Pero la verdad que no he podido tocar nada mas. Esta en org-mode, que es muy similar a markdown. Si alguien lo quiere como PDF lo puedo pasar, aunque no quedara mucho mas claro.
* Docker
+ Introduccion:
Docker comparte kernel con el sistema al igual que Lxc
* Comparativa con lxc, virtualizacion, coreos rkt
- lxc : Virtualizador de sistema
- coreos : demonio de init
- docker : virtualizacion de aplicacion
* Ventajas de Docker
- recuersos compartidos y no asignados (mas ligeros)
- No usan sistema operativo completo
- reutilizacion de imagenes
- tiempo de arranque
- solo aplicaciones linux (ni windows ni mac)
* Docker CE y Docker EE
ee certificado, pago por nodo, mantenido por docker inc
ce comunidad
* Imagenes y contenedores: Definicion y diferenciacion de cada uno de estos
+ Instalacion
* Linux
- [[https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-18-04][Enlace instalacion]]
- Añadir a grupo
- Arrancar el demonio
+ Comandos basicos
* help
docker --help
* run
docker run -it ubuntu /bin/bash
* rename
docker run -it --name prueba ubuntu /bin/bash
docker run -dit --name my-apache-app -p 8080:80 -v "$PWD":/usr/local/apache2/htdocs/ httpd:2.4
docker run -d -p 80:80 --name my-apache-php-app -v "$PWD":/var/www/html php:7.2-apache
* ps
* ps -a
* stop
docker stop my-apache-app
* start
docker start prueba
docker start -ia prueba
docker start -a my-apache-app
* attach
docker attach prueba
deattach C+p C+q
* exec
docker exec prueba touch /root/kk
* image
ls
* rm
docker run --rm -it --name prueba ubuntu /bin/bash
* rmi
* top
* container
* cp
* run = docker create + docker start.
* commit prueba minuevaimagen
* stats
* restart
+ Comandos avanzados
* search
* healthcheck
* info
* login
* logout
* push
docker tag miimagen raurodse/miimagen
docker push raurodse/miimagen
+ Exportar puertos
-p puertolocal:puertoremoto
--link contenedor:nombrealternativo
+ Exportar volumenes
docker volume create
docker run -it --name prueba2 -v midisco:/micosa archlinux/base /bin/bash
docker run -it --name prueba3 -v $PDW:/home archlinux/base /bin/bash
+ Ejecutar aplicaciones desde un docker
- docker run -d -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DIPLAY --device /dev/snd:/dev/snd --name spotify jess/spotify
+ DockerHub
+ DockerFile
* Estructura
- FROM
FROM imagen
- ENV
ENV mivariable valor
- RUN
RUN /bin/bash -c 'source $HOME/.bashrc; \
echo $HOME'
- WORKDIR
- LABEL
LABEL "com.example.vendor"="ACME Incorporated"
- ADD / COPY
ADD [--chown=<user>:<group>] <src>... <dest>
https://stackoverflow.com/questions/24958140/what-is-the-difference-between-the-copy-and-add-commands-in-a-dockerfile
- EXPOSE
instruction informs Docker that the container listens on the specified network ports at runtime
- CMD
CMD ["executable","param1","param2"]
CMD command param1 param2
* comandos:
* build
docker build /ruta/a/dockerfile . -t nombredemiimagen
+ Crear tu propia imagen
* comandos
* export
docker export micontenedor > exportado.tar
docker export micontenedor -o "exportado.tar"
* import
docker import mifichero.tar nombreimagen
IMPORTANTE tar -cf ../comprimido.tar .
* commit
* load
* save
+ Docker Compose
docker-compose up = docker-compose create & docker-compose start
Formato:
https://docs.docker.com/compose/compose-file
- build :
argumentos para build
- args:
ARG buildno
ARG gitcommithash
RUN echo "Build number: $buildno"
RUN echo "Based on commit: $gitcommithash"
build:
context: .
args:
buildno: 1
gitcommithash: cdc3b19
build:
context: .
args:
- buildno=1
- gitcommithash=cdc3b19
- volumes:
db-data:/var/lib/mysql/data
- type: volume
source: mydata
target: /data
volume:
nocopy: true
- type: bind
source: ./static
target: /opt/app/static
- networks:
- resources:
limits:
cpus: '0.50'
memory: 50M
reservations:
cpus: '0.25'
memory: 20M
- devices:
- "/dev/ttyUSB0:/dev/ttyUSB0"
- depends_on:
- tmpfs:
- /run
- /tmp
- environment:
RACK_ENV: development
SHOW: 'true'
SESSION_SECRET:
- expose:
- ports:
- network_mode:
Ejemplos:
https://docs.docker.com/samples/#library-references
Por favor, Identificarse para unirse a la conversación.
Si no cambia la configuración de su navegador, usted acepta su uso. Saber más