Se provee un ambiente Docker listo para utilizar, con las siguientes herramientas/librerias instaladas:
- Python3 (3.6.8)
- Jupyter Core (4.5.0)
- Jupyter Notebook (5.7.8)
- Tensorflow (1.14.0)
- ipython (7.5.0)
- numpy (1.16.4)
- matplotlib (3.1.0)
- keras (2.3.0)
- scikit-learn (0.21.3
- scikit-image (0.15.0)
- pip (manejador de dependencias para Python)
- git
- vim
Se puede utilizar directamente la imágen de Docker. Ver la sección paquetes de este repositorio. De ésta manera, directamente se puede correr un contenedor utilizando
docker pull
- Clonar el repositorio
git clone https://github.com/ortuagustin/deeplearning-docker
cd deeplearning-docker- Configurar las variables de entorno; para ello, crear un archivo
.envy asignar los valores deseados; se puede tomar como partida el archivo.env.exampleprovisto:cp .env.example .env. Ver variables de entorno. - Construir y levantar los contenedores:
docker-compose up -d --build. El contenedor va a instalar conpiplas dependencias indicadas en el archivorequirements.txten la raiz del repositorio.
Notar que el nombre del contenedor es creado es
tf(verdocker-compose.yml).
- Jupyter Notebook queda levantado en
http://localhost:{JUPYTER_NOTEBOOK_PORT}. Por defecto, http://localhost:8888. - Ver más comandos útiles.
Las variables de entorno utilizadas por el contenedor se definen en archivos .env como es habitual al utilizar docker. Para ello, debemos crear un archivo .env en el directorio raíz del repositorio y asignar los valores deseados a las variables de entorno.
Hay dos variables para configurar:
JUPYTER_NOTEBOOK_PORT: Puerto en el que corre jupyter notebook (con el que luego se accede por el navegador). Por defecto es8888.WORK_DIR: directorio mapeado dentro del contenedor mediante un volúmen. Dentro del contenedor, el directorio es/tf. El direcorio por defecto que se mapea es la carpetaworkde este repositorio.
Se provee un archivo .env.example que se puede utilizar como punto de partida:
cp .env.example .envConstruir los contenedores (primera vez o cuando hay cambios):
docker-compose build && docker-compose up -dó, alternativamente:
docker-compose up -d --buildLevantar los contenedores:
docker-compose up -dVerificar que estén levantados usando:
docker-compose ps
Detener los contenedores:
docker-compose downAbrir una terminal bash dentro del contenedor:
docker-compose exec tf bashAbrir una terminal interactiva python dentro del contenedor:
docker-compose exec tf python3- En Linux, para no tener que usar
sudoen los comandos de docker, hay que agregar al usuario al grupodocker:
sudo usermod -aG docker $USEREs necesario deslogearse para que los cambios tomen efecto.
- Asegurarse que el servicio docker está corriendo. En Linux:
# con systemctl
sudo systemctl start docker
# ó, con service
sudo service docker start