GNU/Linux >> Linux の 問題 >  >> Panels >> Docker

インストール後のDockerの最初のステップ

Dockerのインストールが完了すると、Dockerを使用してイメージとコンテナーを作成する最初の手順をガイドする新しいウィンドウが表示されます。

これは、最初のイメージをダウンロードしてコンテナーとして実行する方法を理解するための興味深い方法です。

このアプリに組み込まれている右側のターミナルでコマンドを実行できますが、私は自分のシェルで実行することを好みます。

macOSターミナルを開き、 cd devを実行します 私の家に入るdev フォルダ、および dockerを作成します すべてのDocker実験をホストするサブディレクトリ。 cd dockerを実行します それに入るために、それから私は走ります

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

このコマンドは、新しい getting-startedを作成しました リポジトリのコンテンツを含むフォルダーhttps://github.com/docker/getting-started:

このフォルダから、コマンド docker buildを実行します。 このように:

docker build -t docker101tutorial .

これにより、現在のフォルダのコンテンツから、タグ名 docker101tutorialでイメージが構築されます。 。

これは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

ご覧のとおり、1つだけでなく、3つのベースイメージからイメージを作成します: python:alpine node:12-alpine およびnginx:alpine

docker build-tdocker101tutorial。を実行すると 、最初のベースイメージをダウンロードすることから始まります:

次に、Dockerfileで定義したすべてのコマンドを実行します。

終わりに達するまで続きます:

これで、画像 docker101tutorialができました。 このイメージに基づいてコンテナを実行できます。

コマンドdockerrunを実行します これらの属性を持つ:

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

オプション-dを使用しています コンテナをバックグラウンドで実行し、コンテナIDを出力します。このフラグを見逃した場合、コンテナが終了するまですぐにシェルに戻ることはありません(ただし、コンテナが長寿命である場合、たとえばNodeアプリなどのサービスを実行している場合、自動的に終了することはありません)。

>

-p オプションは、コンテナーのポート80をホストマシンのポート80にマップするために使用されます。コンテナーはポート80でWebサーバーを公開し、コンピューターのポートをコンテナーによって公開されるポートにマップできます。

-名前 コンテナに名前を割り当て、最後に画像名( docker101tutorial )を取得します )コンテナの作成に使用する必要があります。

コマンドオプションについて疑問がある場合は、 docker --helpを実行してください。 、この場合、 docker run --help 非常に詳細な説明が表示されます:

このコマンドは非常に高速で、コンテナIDを取得します:


Docker
  1. Linuxを初めて使用する場合:30のインストールストーリー

  2. スクリーンショット付きのCentOS7のインストール手順

  3. CentOSVPSを取得した後の最初のステップ

  1. スクリーンショット付きのFedora21デスクトップのインストール手順

  2. スクリーンショット付きのUbuntu15.04(Vivid Vervet)のインストール手順

  3. スクリーンショット付きのFedora23ワークステーションのインストール手順

  1. スクリーンショット付きのCentOS8のインストール手順

  2. Dockerを使用してJenkinsコンテナをSystemdサービスとして実行する方法

  3. スクリーンショット付きのFedora24ワークステーションのインストール手順