Deprecated: Use of MediaWiki\Parser\ParserOutput::getText was deprecated in MediaWiki 1.42. [Called from SMW\MediaWiki\Hooks\OutputPageParserOutput::getParserOutput in /home/jltryoen/www/MediaWiki/extensions/SemanticMediaWiki/src/MediaWiki/Hooks/OutputPageParserOutput.php at line 161] in /home/jltryoen/www/MediaWiki/includes/debug/MWDebug.php on line 386
« Docker » : différence entre les versions — La FAQ de JLT

« Docker » : différence entre les versions

 
(18 versions intermédiaires par le même utilisateur non affichées)
Ligne 7 : Ligne 7 :
<br>
<br>


==== Instructions ====
==== Commandes pour l'installation ====
Celles-ci fonctionnent sous '''Ubuntu 20.x'''
''Celles-ci fonctionnent sous '''Ubuntu 20.x'''''
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
#installation de paquets utilisés par l'installation de docker
#installation de paquets utilisés par l'installation de docker
Ligne 33 : Ligne 33 :


=== Windows/WSL2 ===
=== Windows/WSL2 ===
Les dernières versions de '''Windows 11''' ont un support de '''WSL2''' bien meilleur que sous Windows 10  
Les dernières versions de '''Windows 11''' ont un support de '''WSL2''' bien meilleur que sous Windows 10 <br>
 
Voir {{intralink |link=Windows_11/WSL2}}
Voir {{intralink |link=Windows_11/WSL2}}


Ligne 41 : Ligne 42 :


==== Instructions ====
==== Instructions ====
Elles sont quasiment identiques à celles sous Linux
''Elles sont quasiment identiques à celles sous Linux''
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
sudo apt-get install \
sudo apt-get install \
Ligne 73 : Ligne 74 :
<br>
<br>


J'ai modifier le fichier '''.bashrc'' pour lancer automatiquement le service docker
J'ai modifié le fichier '''.bashrc'' pour lancer automatiquement le service docker
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# automatiser le démarrage du démon docker
# automatiser le démarrage du démon docker
Ligne 82 : Ligne 83 :
</syntaxhighlight><br>
</syntaxhighlight><br>
<br>
<br>
== Construction ==
Pour l'outil docker c'est la commande '''build'''.<br>
Il faut tout d'abord:
* choisir de quelle image baser sa propre image
* editer un fichier DockerFile
Les images disponibles sont visibles sur le site <favorites keyword=docker_hub/><br>
exemple de fichier Dockerfile:<br>
''Il permet de charger une image ubuntu 16.04 avec python3/pip preinstallés''
{{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}
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:
{{syntaxhighlight |lang=bash|code=
#!/bin/bash
docker build --build-arg USER=$USER \
            --build-arg UID=$UID \
            --build-arg GID=$GID \
            --build-arg PW=JLBRIT \
            -t myubuntu \
            -f Dockerfile
}}
== Chargement de l'image dans un container ==
Pour l'outil docker c'est la commande '''run'''<br>
Ex ''avec l'image construite précédemment'': {{syntaxhighlight |lang=bash|code=
docker run -it myubuntu bash
}}
<br>
Autre exemple, chargement de l'image prédéfinie '''jupyterlab'''<br>
''Il est possible de mapper un répertoire local avec un répertoire du container avec l'option '''-v''' ''
{{syntaxhighlight |lang=bash|code=
docker run --rm -it -p 8888:8888 -v /data/jupyterlab-notebooks:/notebooks
}}
''Connexion au container via un browser Web''
{{syntaxhighlight |lang=text|code=
http://localhost:8888
}}


== Liens externes ==  
== Liens externes ==  

Dernière version du 30 décembre 2022 à 20:53

Installation

Linux

Voir [DOCKER_INSTALL_UBUNTU] et [DOCKER_POSTINSTALL]

Commandes pour l'installation

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


Windows/WSL2

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]

Instructions

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



Construction

Pour l'outil docker c'est la commande build.
Il faut tout d'abord:

  • choisir de quelle image baser sa propre image
  • editer un fichier DockerFile

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

Chargement de l'image dans un container

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

Liens externes