-
Notifications
You must be signed in to change notification settings - Fork 1
Docker
- Comenzando con Docker: http://docs.docker.com/linux/started/
- Automatizando Docker con GitHub https://docs.docker.com/docker-hub/builds/
- Linkear Docker con GitHub: https://docs.docker.com/docker-hub/github/
- Referencia para el dockerfile: https://docs.docker.com/reference/builder/
- Mejores prácticas para escribir un Dockerfile: https://docs.docker.com/articles/dockerfile_best-practices/
- Comandos para el Dockerfile: http://www.blog.teraswap.com/docker-dockerfiles-imagenes/
- Ejemplos de Dockerfile’s: https://github.com/dockerfile/nodejs/blob/master/Dockerfile https://github.com/dockerfile/ubuntu/blob/master/Dockerfile https://github.com/docker-library/buildpack-deps/blob/master/jessie/Dockerfile http://tinyurl.com/dockerfiles
- Para instalar rocksdb en el Dockerfile: https://github.com/amimimor/docker-rocksdb/blob/master/Dockerfile
-
Verificar si se encuentra wget (ya que se usa en la instalación de docker)
which wget
-
Instalar Docker
wget -qO- https://get.docker.com/ | sh
-
Corre el container docker con la imagen llamada “hello-world” (busca en DockerHub)
docker run hello-world
-
Muestra las imágenes locales
docker images
-
Para crear un script que corra dentro de la imagen docker, se crea un archivo para ello
gedit Dockerfile
-
Hace el build de una imagen local llamada “docker-whale”
docker build -t docker-whale .
-
Taguear una imagen con el id “5f8f157e7615” del usuario “martineq”. Imagen “docker-whale”, indicando con “latest” el nombre del tag
docker tag 5f8f157e7615 martineq/docker-whale:latest
-
Logueo en el Docker Hub
docker login --username=yourhubusername --password=yourpassword --email=youremail@company.com
-
Sube la imagen (hace un push) al repositorio Docker Hub `docker push martineq/tp0_7552
-
Remueve la imagen local “docker-whale”. -f para forzar
docker rmi -f docker-whale
-
Bajar la imagen “docker-whale” del repositorio Docker Hub de la cuenta “martineq”
docker pull martineq/docker-whale
-
Correr dentro del bash de una imagen Docker. En este caso la imagen se llama “martineq/tp0_7552_latest”. “-t -i” se usa para crear un TTY (simulador de terminal)
sudo docker run -t -i martineq/tp0_7552_latest /bin/bash
-
Iniciar Docker cuando no está conectado a internet
sudo docker -d -D
-
Lista las imágenes docker que se encuentran corriendo
sudo docker ps
-
Detiene la imagen docker que se encuentra corriendo
sudo docker stop NAME
-
Corre el comando (/bin/sh con -c) que está entre comillas, y habilita el ip:puerto de entrada IpHost:PortHost:PortImage (con -p)
sudo docker run -p 127.0.0.1:8080:8080 martineq/tp7552:latest /bin/sh -c "cd server && mkdir build && cd build && sudo cmake -DEXE=SI .. && sudo make && sudo ./server"
-
Corre el comando (/bin/sh con -c) que está entre comillas, y habilita el ip:puerto de entrada IpHost:PortHost:PortImage (con -p), además lo corre en background (con -d)
sudo docker run -d -p 127.0.0.1:8080:8080 martineq/tp7552:latest /bin/sh -c "cd server && mkdir build && cd build && sudo cmake -DEXE=SI .. && sudo make && sudo ./server"
-
Reinicia el servicio Docker
sudo service docker restart
-
Usando el comando docker para correr el bash del docker pero desde afuera(Ver sección “A daemonized Hello world”) https://docs.docker.com/userguide/dockerizing/
-
Ejemplo de uso de docker dentro del archivo travis.yml http://docs.travis-ci.com/user/docker/ https://travis-ci.org/travis-ci/docker-sinatra
-
Run para el ejemplo del tp0, en consola
sudo docker run -t -i martineq/tp0_7552:latest
-
Chequeando el valor de salida de un comando http://bencane.com/2014/09/02/understanding-exit-codes-and-how-to-use-them-in-bash-scripts/
-
Un ejemplo con Docker usando run https://docs.docker.com/articles/basics/
-
Tips Docker: http://nathanleclaire.com/blog/2014/07/12/10-docker-tips-and-tricks-that-will-make-you-sing-a-whale-song-of-joy/
-
Comando run: https://docs.docker.com/reference/commandline/run/
-
Comando exec: https://docs.docker.com/reference/commandline/exec/
-
Configurando docker para conexiones desde al host a la imagen: https://docs.docker.com/articles/networking/#binding-ports https://docs.docker.com/userguide/dockerlinks/
Facultad de Ingeniería - Universidad de Buenos Aires