Mettre à jour 'docker.md'
This commit is contained in:
parent
03b657f66e
commit
779d708bd9
36
docker.md
36
docker.md
@ -13,6 +13,7 @@
|
|||||||
- démarrer containeur: `docker start`
|
- démarrer containeur: `docker start`
|
||||||
- lister tous les conteneur `docker ps -a`
|
- lister tous les conteneur `docker ps -a`
|
||||||
- delete conteneur: `docker rm 2cdc
|
- delete conteneur: `docker rm 2cdc
|
||||||
|
- run a commad in container: `docker exec `
|
||||||
- créer et lancer un conteneur `docker run -d --name node-app -p 3000:3000 -v $(pwd):/app node:0.12.4 node /app/server.js`
|
- créer et lancer un conteneur `docker run -d --name node-app -p 3000:3000 -v $(pwd):/app node:0.12.4 node /app/server.js`
|
||||||
- -d lance en tant que daemon
|
- -d lance en tant que daemon
|
||||||
- --name permet de nommer le conteneur
|
- --name permet de nommer le conteneur
|
||||||
@ -20,3 +21,38 @@
|
|||||||
- -v $(pwd):/app : cette option permet de partager un dossier avec votre conteneur, ici, nous partageons le dossier courant (où se trouve notre fichier server.js) avec le dossier /app dans le conteneur (attention si vous êtes sur Mac ou Windows uniquement votre 'home' est partagé).
|
- -v $(pwd):/app : cette option permet de partager un dossier avec votre conteneur, ici, nous partageons le dossier courant (où se trouve notre fichier server.js) avec le dossier /app dans le conteneur (attention si vous êtes sur Mac ou Windows uniquement votre 'home' est partagé).
|
||||||
- node:0.12.4 : l'image Docker que vous voulez utiliser.
|
- node:0.12.4 : l'image Docker que vous voulez utiliser.
|
||||||
- node /app/server.js : la commande à exécuter dans le conteneur.
|
- node /app/server.js : la commande à exécuter dans le conteneur.
|
||||||
|
|
||||||
|
## dockerfile
|
||||||
|
|
||||||
|
```
|
||||||
|
#FROM permet de définir notre image de base, vous pouvez l'utiliser seulement une fois dans un Dockerfile.
|
||||||
|
FROM debian
|
||||||
|
|
||||||
|
|
||||||
|
#RUN permet d'exécuter une commande à l'intérieur de votre image comme si vous étiez devant un shell unix.
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y curl \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
RUN curl -LO "https://nodejs.org/dist/v0.12.5/node-v0.12.5-linux-x64.tar.gz" \
|
||||||
|
&& tar -xzf node-v0.12.5-linux-x64.tar.gz -C /usr/local --strip-components=1 \
|
||||||
|
&& rm node-v0.12.5-linux-x64.tar.gz
|
||||||
|
#ADD permet d'ajouter des fichiers locaux ou distants à l'intérieur de votre image, il est le plus souvent utilisé pour importer les sources de votre projet ou des fichiers de configuration.
|
||||||
|
ADD package.json /app/
|
||||||
|
#WORKDIR permet de changer le répertoire courant de votre image, toutes les commandes qui suivront seront exécutées à partir de ce répertoire.
|
||||||
|
WORKDIR /app
|
||||||
|
RUN npm install
|
||||||
|
#ajoute le répertoire a projet a l'image
|
||||||
|
ADD . /app/
|
||||||
|
|
||||||
|
#EXPOSE et VOLUME permettent respectivement d'indiquer quel port et quel dossier nous souhaitons partager.
|
||||||
|
EXPOSE 3000
|
||||||
|
|
||||||
|
VOLUME /app/log
|
||||||
|
|
||||||
|
#instruction qui doit s'exécuter au lancement du conteneur
|
||||||
|
CMD node server.js
|
||||||
|
```
|
||||||
|
|
||||||
|
le .dockerignore permet comme un .gitignore de ne pas inclure certain fichiers dans l'image Docker,
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user