Voir [DOCKER_INSTALL_UBUNTU]
et [DOCKER_POSTINSTALL]
Celles-ci fonctionnent sous Ubuntu 20.x
#installation de paquets utilisés par l'installation de docker
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
#mise à jour des dépôts de mise à jour
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
#installation proprement dite
sudo apt install docker-ce docker-ce-cli containerd.io
#mise à jour des groupes pour l'utilisateur courant
sudo usermod -aG docker $USER
Les dernières versions de Windows 11 ont un support de WSL2 bien meilleur que sous Windows 10
Voir Windows_11/WSL2
Pour l'installation de docker sous cette architecture voir
[DOCKER_INSTALL_WSL2]
Elles sont quasiment identiques à celles sous Linux
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
#mise à jour des dépôts de mise à jour
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
#mise à jour des groupes pour l'utilisateur courant
sudo usermod -aG docker $USER
J'ai du mettre à jour le fichier /etc/docker/daemon.json
sudo mkdir /etc/docker/
sudo vi /etc/docker/daemon.json
/etc/docker/daemon.json
{
"tls": false
}
J'ai modifié le fichier '.bashrc pour lancer automatiquement le service docker
# automatiser le démarrage du démon docker
echo "sudo service docker status || sudo service docker start" >> ~/.bashrc
# désactiver la demande de mot de passe pour gérer le service docker
echo "%docker ALL=(ALL) NOPASSWD: /usr/sbin/service docker *" | sudo tee -a /etc/sudoers
Pour l'outil docker c'est la commande build.
Il faut tout d'abord:
Les images disponibles sont visibles sur le site
exemple de fichier Dockerfile:
Il permet de charger une image ubuntu 16.04 avec python3/pip preinstallés
FROM ubuntu:16.04
ARG USER=docker
ARG UID=1000
ARG GID=1000
# default password for user
ARG PW=docker# Option1: Using unencrypted password/ specifying password
RUN useradd -m ${USER} --uid=${UID} --password=${PW}
RUN apt-get update
RUN apt-get install -y python3
RUN apt-get install -y python3-pip
# Setup default user, when enter docker container
USER ${UID}:${GID}
WORKDIR /home/${USER}
script de construction:
#!/bin/bash
docker build --build-arg USER=$USER \
--build-arg UID=$UID \
--build-arg GID=$GID \
--build-arg PW=JLBRIT \
-t myubuntu \
-f Dockerfile
Pour l'outil docker c'est la commande run
Ex avec l'image construite précédemment:
docker run -it myubuntu bash
Autre exemple, chargement de l'image prédéfinie jupyterlab
Il est possible de mapper un répertoire local avec un répertoire du container avec l'option -v
docker run --rm -it -p 8888:8888 -v /data/jupyterlab-notebooks:/notebooks
Connexion au container via un browser Web
http://localhost:8888