GNU/Linux >> Tutoriels Linux >  >> Panels >> Docker

Premiers pas avec Docker après l'installation

Après avoir terminé l'installation de Docker, vous devriez avoir une nouvelle fenêtre qui vous guidera à travers les premières étapes de création d'images et de conteneurs avec Docker :

C'est un moyen intéressant de vous familiariser avec le téléchargement de votre première image et de l'exécuter en tant que conteneur.

Vous pouvez exécuter les commandes dans le terminal à droite intégré à cette application, mais je préfère l'exécuter dans mon propre shell.

J'ouvre le terminal macOS, lance cd dev aller chez moi dev dossier, et je crée un docker sous-répertoire, où j'hébergerai toutes les expériences Docker. Je lance cd docker pour y entrer, puis je cours

git clone https://github.com/docker/getting-started

Cette commande a créé un nouveau getting-started dossier avec le contenu du dépôt https://github.com/docker/getting-started :

Maintenant, à partir de ce dossier, exécutez la commande docker build de cette manière :

docker build -t docker101tutorial .

Cela va construire l'image à partir du contenu du dossier actuel dans lequel vous vous trouvez, avec le nom de balise docker101tutorial .

Ceci est le fichier Docker

*# Install the base requirements for the app.*
*# This stage is to support development.*
FROM python:alpine AS base
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt

*# Run tests to validate app*
FROM node:12-alpine AS app-base
WORKDIR /app
COPY app/package.json app/yarn.lock ./
RUN yarn install
COPY app/spec ./spec
COPY app/src ./src
RUN yarn test

*# Clear out the node_modules and create the zip*
FROM app-base AS app-zip-creator
RUN rm -rf node_modules && \
    apk add zip && \
    zip -r /app.zip /app

*# Dev-ready container - actual files will be mounted in*
FROM base AS dev
CMD ["mkdocs", "serve", "-a", "0.0.0.0:8000"]

*# Do the actual build of the mkdocs site*
FROM base AS build
COPY . .
RUN mkdocs build

*# Extract the static content from the build*
*# and use a nginx image to serve the content*
FROM nginx:alpine
COPY --from=app-zip-creator /app.zip /usr/share/nginx/html/assets/app.zip
COPY --from=build /app/site /usr/share/nginx/html

Comme vous pouvez le voir, il crée notre image à partir non pas d'une, mais de 3 images de base :python:alpine , node:12-alpine et nginx:alpine .

Lorsque vous exécutez docker build -t docker101tutorial . , il commencera par télécharger la première image de base :

Ensuite, il exécutera toutes les commandes que nous avons définies dans le Dockerfile.

Cela continue jusqu'à ce que nous atteignions la fin :

Nous avons maintenant l'image docker101tutorial et nous pouvons exécuter un conteneur basé sur cette image.

Exécutez la commande docker run avec ces attributs :

docker run -d -p 80:80 --name docker-tutorial docker101tutorial

Nous utilisons l'option -d pour exécuter le conteneur en arrière-plan et imprimer l'ID du conteneur. Si vous manquez cet indicateur, vous ne reviendrez pas immédiatement au shell jusqu'à la sortie du conteneur (mais s'il est de longue durée, par exemple s'il exécute un service comme une application Node ou quelque chose, il ne se fermera pas automatiquement).

Le -p est utilisée pour mapper le port 80 du conteneur au port 80 de la machine hôte. Le conteneur expose un serveur Web sur le port 80, et nous pouvons mapper les ports de notre ordinateur aux ports exposés par le conteneur.

--name attribue un nom au conteneur, et enfin nous avons le nom de l'image (docker101tutorial ) que nous devrions utiliser pour créer le conteneur.

Si vous avez un doute sur une option de commande, exécutez docker <command> --help , dans ce cas docker run --help et vous obtiendrez une explication très détaillée :

Cette commande est très rapide et vous récupérerez l'ID du conteneur :


Docker
  1. Première fois avec Linux :30 histoires d'installation

  2. Étapes d'installation de CentOS 7 avec captures d'écran

  3. Étapes d'installation de Fedora 21 Desktop avec captures d'écran

  4. Étapes d'installation d'Ubuntu 15.04 (Vivid Vervet) avec captures d'écran

  5. Premières étapes après avoir obtenu un VPS CentOS

Améliorez votre jeu DevOps avec ces exemples d'exécution Docker

Docker pour Mac :le guide d'installation complet

Comment exécuter Jenkins dans Docker à l'aide de Docker Compose avec des volumes

Travailler avec des images Docker à partir de la ligne de commande

Utilisation des conteneurs Docker à partir de la ligne de commande

Installation et premiers pas avec Git