| Ligne 89 : | Ligne 89 : | ||
* choisir de quelle image baser sa propre image | * choisir de quelle image baser sa propre image | ||
* editer un fichier DockerFile | * editer un fichier DockerFile | ||
Les images disponibles sont visibles sur le site <favorites | Les images disponibles sont visibles sur le site <favorites keywork=docker_hub/><br> | ||
exemple de fichier Dockerfile: | |||
{{syntaxhighlight |lang=text|code= | |||
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} | |||
#&& echo "${USER}:${PW}" | \ | |||
# chpasswd | |||
# Option2: Using the same encrypted password as host | |||
#COPY /etc/group /etc/group | |||
#COPY /etc/passwd /etc/passwd | |||
#COPY /etc/shadow /etc/shadow# Setup default user, when enter docker container | |||
RUN apt-get update | |||
RUN apt-get install -y python3 | |||
RUN apt-get install -y python3-pip | |||
RUN python3 -m pip install pytorch | |||
USER ${UID}:${GID} | |||
WORKDIR /home/${USER} | |||
}} | |||
script de construction: | |||
{{syntaxhighlight |lang=bash|code= | |||
#!/bin/bash | |||
#export UID=$(id -u) | |||
#export GID=$(id -g) | |||
docker build --build-arg USER=$USER \ | |||
--build-arg UID=$UID \ | |||
--build-arg GID=$GID \ | |||
--build-arg PW=JLBRIT \ | |||
-t myubuntu \ | |||
-f Dockerfile \ | |||
}} | |||
== Liens externes == | == Liens externes == | ||
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 l'option build.
Il faut tout d'abord:
Les images disponibles sont visibles sur le site
exemple de fichier Dockerfile:
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}
#&& echo "${USER}:${PW}"
script de construction:
#!/bin/bash
#export UID=$(id -u)
#export GID=$(id -g)
docker build --build-arg USER=$USER \
--build-arg UID=$UID \
--build-arg GID=$GID \
--build-arg PW=JLBRIT \
-t myubuntu \
-f Dockerfile \