GNU/Linux >> Linux Esercitazione >  >> Panels >> Docker

Primi passi con Docker dopo l'installazione

Dopo aver completato l'installazione di Docker dovresti avere una nuova finestra che ti guiderà attraverso i primi passaggi della creazione di immagini e contenitori con Docker:

Questo è un modo interessante per aggiornarti sul download della tua prima immagine ed eseguirla come contenitore.

Puoi eseguire i comandi nel terminale a destra integrato in questa app, ma preferisco eseguirlo nella mia shell.

Apro il terminale macOS, eseguo cd dev per entrare nella mia casa dev cartella e creo una docker sottodirectory, dove ospiterò tutti gli esperimenti Docker. Eseguo cd docker per entrarci, poi corro

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

Questo comando ha creato un nuovo getting-started cartella con il contenuto del repository https://github.com/docker/getting-started :

Ora da questa cartella, esegui il comando docker build in questo modo:

docker build -t docker101tutorial .

Questo costruirà l'immagine dal contenuto della cartella corrente in cui ti trovi, con il nome del tag docker101tutorial .

Questo è il Dockerfile

*# 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

Come puoi vedere, crea la nostra immagine non solo da una, ma da 3 immagini di base:python:alpine , node:12-alpine e nginx:alpine .

Quando esegui docker build -t docker101tutorial . , inizierà scaricando la prima immagine di base:

Quindi eseguirà tutti i comandi che abbiamo definito nel Dockerfile.

Continua fino alla fine:

Ora abbiamo l'immagine docker101tutorial e possiamo eseguire un container basato su questa immagine.

Esegui il comando docker run con quegli attributi:

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

Stiamo usando l'opzione -d per eseguire il contenitore in background e stampare l'ID contenitore. Se manchi questo flag, non tornerai immediatamente alla shell fino all'uscita del contenitore (ma se è di lunga durata, ad esempio esegue un servizio come un'app Node o qualcosa del genere, non uscirà automaticamente).

Il -p l'opzione viene utilizzata per mappare la porta 80 del contenitore alla porta 80 della macchina host. Il contenitore espone un server Web sulla porta 80 e possiamo mappare le porte del nostro computer alle porte esposte dal contenitore.

--name assegna un nome al contenitore e infine abbiamo il nome dell'immagine (docker101tutorial ) dovremmo usare per creare il contenitore.

In caso di dubbi su un'opzione di comando, eseguire docker <command> --help , in questo caso docker run --help e riceverai una spiegazione molto dettagliata:

Questo comando è molto veloce e riavrai l'ID del contenitore:


Docker
  1. Prima volta con Linux:30 racconti di installazione

  2. Passaggi di installazione di CentOS 7 con schermate

  3. Fedora 21 Passaggi di installazione desktop con schermate

  4. Passaggi di installazione di Ubuntu 15.04 (Vivid Vervet) con schermate

  5. Primi passi dopo aver ottenuto un VPS CentOS

Migliora il tuo gioco DevOps con questi esempi di esecuzione Docker

Docker per Mac:la guida all'installazione completa

Come eseguire Jenkins in Docker usando Docker Compose con volumi

Utilizzo delle immagini Docker dalla riga di comando

Utilizzo dei contenitori Docker dalla riga di comando

Installazione e primi passi con Git