Docker est un gestionnaire de containers assez pratique pour le deep learning. Ce tuto est destiné à nos partenaires et explique l’utilisation d’un container de base. Docker doit être installé sur le poste local.

Construire le container
Dans un répertoire, créer le fichier Dockerfile contenant:
FROM python:3.8.2-slim ENV APP_HOME /app WORKDIR ${APP_HOME} COPY . ./ RUN apt-get update RUN mkdir -p notebooks RUN pip install jupyter voila ipywidgets RUN pip install pandas matplotlib numpy EXPOSE 8888 8889 CMD ["/usr/local/bin/jupyter", "notebook", "--notebook-dir=/app/notebooks", "--allow-root", "--port=8888", "--ip='*'", "--NotebookApp.token=''", "--NotebookApp.password=''","--no-browser"]
Puis le construire par la commande
docker build -t xxxxx/yyyy
ou le télécharger
Une version préconstruite peut être appelé par la commande
docker pull rdmediation/dockerbase:latest
Lancer le container
Pour une session bash:
docker run -it rdmediation/dockerbase bash
taper exit pour sortir de la session
Pour une session jupyter
docker run -p 8888:8888 rdmediation/dockerbase
puis se rendre à l’adresse http://localhost:8888
pour monter le répertoire Downloads dans notebooks
docker run --name test -p 8888:8888 -v ~/Downloads:/app/notebooks rdmediation/dockerbase
Gérer les containers
Commande | ce que ça fait |
---|---|
docker ps | liste les container actifs |
docker top test | liste des processus dans le container test |
docker exec test bash -c « cd notebooks; touch essai;ls -a » | execute une commande bash |
docker commit test montest/amoi | sauve une image du container |
docker image ls | liste les containers actuels |
docker image save montest/amoi| xz -T4 -c > montest.xz docker image save montest/amoi| gzip > montest.gz | sauve une archive en utilisant 4 cores alternative + volumineuse |
cat montest.xz | xz -d | docker image load | Recharge une archive |
docker login | se connecte à mon compte docker |
docker push montest/amoi:latest | Envoie le container à dockerhub |