Last active
November 13, 2019 20:49
-
-
Save alphanetEX/19f543b861a4fba497ceb8e7d6f80879 to your computer and use it in GitHub Desktop.
dockerfile_classmate
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
https://store.docker.com/profiles/arm32v7 #organizacion oficial para producto armv7 de 32bits | |
#Arrancando un contenedor con un volumen de manera sincrona | |
docker container run --name ejemplo-contenedor -v /home/odroid/ejemplo/datos:/ejemplo -it armhf/ubuntu:17.04 /bin/bash | |
sintaxis | |
docker container run --name ejemplo-contenedor | |
#iniciando un contenedor y asignandole como nombre ejemplo contenedor | |
-v | |
# la abreviatura v es para identificar que se esta montando un volumen de datos | |
/home/odroid/ejemplo/datos | |
#esta es la ubicacion del directorio de la maquina local que se estara utilizando como volumen | |
:/ejemplo | |
#despues de los dos puntos se especifica en que lugar dentro de la estructura de los ficheros del contenedor va a ser montado este | |
#volumen de datos | |
-it | |
# nos permite iniciar el contenedor de forma interactiva trabajando desde la consola | |
armhf/ubuntu:17.04 | |
# se especifica que imagen se va a utilizar de las ya descargadas por docker | |
/bin/bash | |
#se define el programa que se estara utilizando de manera interactiva con dicho contenedor | |
-----------------------------------------Procedimientos------------------------------------------------------------------------- | |
crear un archivo Dockerfile y adjuntar la siguiente sintaxis | |
FROM armhf/ubuntu:17.04 | |
LABEL Description="XAS Dynamics debian dev" Autor="Alphanet-EX" Vers$ | |
COPY datos /ejemplo | |
ENTRYPOINT cat /ejemplo/texto | |
Explicacion del archivo Dockerfile+++++++++++++++++++++++++++++++++++++++++ | |
FROM armhf/ubuntu:17.04 | |
#se descarga la imagen de ubuntu con el tag 17.04 | |
LABEL Description="XAS Dynamics debian dev" Autor="Alphanet-EX" Version="v0.0.1" | |
#se anexan metadatos ya sea informacion sobre la imagen y derivados | |
RUN ~/generator.bash | |
#se ejecutara este comando internamente en la consola | |
COPY datos /ejemplo | |
# se copiaran los archivos que esten en la carpeta datos y se pegaran en una carpeta dentro del docker llamada ejemplo | |
ENTRYPOINT cat /ejemplo/texto | |
# se espesifica que cada ves que se inicie la imagen de docker que se imprima la informacion del archivo texto alojado en docker | |
EXPOSE 3000 | |
#expone el puerto | |
WORKDIR /usr/src | |
#este es un CD de linea de comandos | |
CMD["node", "index.js"] | |
#cual es el comando por defecto que correra el contenedor y que archivo se tiene que ejecutar | |
CMD ["npx", "nodemon", "index.js"] | |
*************************************como utilizar los contenedores comno si fueran volumenes de datos************************** | |
docker container run --name dkr-datos -v /datos arm32v7/busybox | |
sintaxis | |
docker container run --name dkr-datos | |
#se crea un contenedor con el nombre drk-datos | |
-v /datos | |
#en el cual se crea un volumen en la raiz dentro del docker dkr-datos | |
arm32v7/busybox | |
#utilizando la imagen busybox de docker store | |
#ya se tiene creado el contenedor que almacenara el volumen de datos------------------------- | |
#ahora es necesario crear el contenedor que seria nuestra aplicacion que va a utilizar comno volumen de datos dicho contenedor | |
#que se ha creado | |
-----------------------------------------------CREANDO EL CONTENEDOR DE LA APLICACION---------------------------------------- | |
docker container run --name app1 --volumes-from dkr-datos -it armhf/ubuntu:17.04 /bin/bash | |
sintaxis | |
docker container run --name app1 | |
#se iniciar un contenedor con el nombre app1 | |
--volumes-from datos | |
#con este parametro vamos a indicarle al contenedor que estamos iniciando que utilize otro contenedor llamado dkr-datos | |
-it armhf/ubuntu:17.04 /bin/bash | |
#se iniciara de manera interactiva con el programa que se estara utilizando | |
#luego se iniciara una terminar y con el comando ls verificaran que saldra la carpeta llamada datos, misma que esta enlazada | |
#con el contenedor dkr-datos de manera sincrona | |
--------------------------------------------creando una tercera aplicacion---------------------------------------------------- | |
docker container run --name aplicacion2 --volumes-from dkr-datos -it armhf/ubuntu:17.04 /bin/bash | |
#se crea una segunda aplicacion | |
#se analiza con el comando ls la carpeta datos | |
#cd entra a la carpeta datos con el comando cd datos/ | |
#crea un archivo con el comando touch xxx-data y verifica la primera aplicacion | |
----------------------------------------------SALVAR INFORMACION DE LOS VOLUMENES DE DATOS------------------------------------- | |
docker container run --rm --volumes-from dkr-datos -v $(pwd):/backup armhf/ubuntu:17.04 tar cvf /backup/backup.tar /datos | |
sintaxis | |
docker container run | |
#iniciamos un nuevo contenedor | |
-volumes-from dkr-datos | |
#asociamos el volumen del del contenedoe dkr-datos | |
tar cvf /backup/backup.tar /datos | |
#la informacion se guardara en una carpeta backup/backup.tar de la carpeta de origen /datos dentro de un fichero comprimido | |
$(pwd):/backup | |
#hemos montado un volumen desde nuestro directorio hasta la maquina locar al contenedor que estamos creando | |
--rm | |
#una vez que nuestro contenedor termine dicha operacion, ya no se va a utilizar, entoces se eliminara. | |
------------------------------------------------publicacion de servicios de manera aleatoria --------------------------------------------------------- | |
docker container run --rm -d --publish-all ebspace/armhf-apache-php | |
sintaxis | |
--rm | |
#se eliminara el contenedor cuando se detenga | |
--publish-all | |
#asignar de maneara aleatoria los puertos de la maquina local | |
ebspace/armhf-apache-php | |
#imagen a iniciar | |
------------------------------------------------publicacion se servicios de manera estatica-------------------------------------- | |
docker container run --rm -d -p 8080:80 ebspace/armhf-apache-php //publicacion de un servicio de manera estatica | |
--------------------------------------------------creacion de contenedor con maria db------------------------------------------- | |
docker container run --name bd-servidor -it -e MYSQL_ROOT_PASSWORD='your password' -d bittnerd/mariadb-armhf /bin/bash | |
---------------------------------------------------Conectar contenedores--------------------------------------------------------- | |
docker container run --link bd-servidor:mysql -it -d -p 80:80 -p 443:443 alphanet/portafolio_lamp:version-0.0.1 /bin/bash | |
sintaxis | |
docker container run | |
#se inicia un contenedor | |
--link bd-servidor:mysql | |
#se enlaza con el contenedor db-servidor con el servicio mysql | |
-it -d -p 80:80 -p 443:443 alphanet/portafolio_lamp:version-0.0.1 | |
#se estableble que habra una coneccion de forma interactiva con los puertos 80 y 443 activos para la imagen que se utilizara de referencia | |
----new sector network | |
#creando red interna en docker | |
docker network create --attachable darpanet | |
#conectando un contenedor con docker | |
docker network connect darpanet auth01-pr | |
#inspeccionando la red darpanet | |
docker network inspect darpanet | |
#eliminando red de docker | |
docker network rm darpanet | |
#arrancando un contenedor con varialble de entorno y volumen | |
docker run --name nodeapx -p 8080:3000 --env MONGO_URL=mongodb://auth01-pr:27017/auth01 -d -v $(pwd):/usr/src/ nodeapp | |
#--env: flag de variable de entorno | |
# MONGO_URL=mongodb://auth01-pr:27017/auth01 | |
#[variable] ://[container]:[port]/[port] | |
docker-compose build | |
docker-compose up | |
docker-compose up -d | |
docker compose down | |
docker-compose scale app=4 | |
docker-compose logs -f app | |
docker-compose logs db | |
docker rm -f $(docker ps -aq) | |
docker network inspect darpanet | |
//Dockerfile | |
docker build . | |
docker build -t mgnd-test . | |
//execute with name | |
docker inspect -f '{{ json .Mounts }}' md-test | |
docker volume ls | |
docker volume prune //droping volumes | |
docker volume create dbdata | |
docker run --name mg-test --mount dbdata,dst=/data/db mongo | |
docker run -d --name mg-test --mount dbdata,dst=/data/db mongo | |
#variable | |
docker container logs -f '6337800a3686' | |
docker logs -d mg-test | |
docker logs -f mg-test | |
docker run --name mg-test -d -v echo $darpa:/data/db mongo -p 27017:27017 -q mongo | |
# | |
docker run --name nodeapx -p 8080:3000 --env MONGO_URL=mongodb://auth01-pr:27017/auth01 -d -v $(pwd):/usr/src/ nodeapp | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment