ドッカーベース(2)実践の記事
- ドッカーの指示
- グローバルディレクティブ
- ドッカー倉庫管理
- ドッカーイメージ管理
- Dockerfile
- ドッカー容器管理
- ドッカー作曲
- ネストされたコマンド
ドッカーの指示
4つの主要分野のためのオブジェクトドッカーの取扱説明書:
- デーモンのリソースに対して設定され、グローバルな情報システムを取得します。たとえば、次のドッキングウィンドウの情報、ドッキングウィンドウデーモンとのそう。
- ドッキングウィンドウは、倉庫、ダウンロード操作に対してクエリを実行します。たとえば、次のドッキングウィンドウの検索、ドッキングウィンドウプルと上のようにします。
- クエリ、作成、削除操作のためのドッキングウィンドウの画像。たとえば、次のドッキングウィンドウの画像、ドッキングウィンドウの構築など。
- クエリのドッカーコンテナは、作成、オープン、運転を停止します。たとえば、次のドッキングウィンドウのPS、ドッキングウィンドウの実行、ドッキングウィンドウの開始と上のようにします。
特定の情報は、さらに、命令の使用を表示することができ--helpドッカーコマンドを使用して、ドッカー入力端子によって見ることができます。
次は、いくつかの基本的な一般的なコマンドを学びます。
収集システムとグローバルな情報リソースの設定デーモン
ドッカーのバージョン情報を表示します。
$ docker version
Client:
Version: 18.09.7
API version: 1.39
Go version: go1.10.4
Git commit: 2d0083d
Built: Fri Aug 16 14:19:38 2019
OS/Arch: linux/amd64
Experimental: false
Server:
Engine:
Version: 18.09.7
API version: 1.39 (minimum version 1.12)
Go version: go1.10.4
Git commit: 2d0083d
Built: Thu Aug 15 15:12:41 2019
OS/Arch: linux/amd64
Experimental: false
そのようなサーバのバージョン、ストレージドライバ、カーネルバージョン、オペレーティングシステム、総メモリ、などなどの表示デバイス情報:
$ docker info
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 14
Server Version: 18.09.7
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
...
ドッカー倉庫管理
ドッカードッカーハブは、それは通常、ミラーはここからダウンロードすることができ取り、公共の倉庫です。また、ユーザーは自作の画像をアップロードすることができます。
鏡を見つけ、次のコマンドは、CentOSのに関連した画像を検索します。
$ docker search centos
ダウンロード画像、コロンバージョン番号を指定することができ、省略した場合、デフォルトのダウンロード最新版の同等:最新
$ docker pull imageA:1.0
アップロード画像は、あなたがドッカーハブアカウントを登録するようになった、と使用してきましたドッキングウィンドウのログインログイン
$ docker pull imageA:1.1
ドッカーイメージ管理
すべてのローカルミラーを見ます
$ docker images
若しくは
$ docker image ls
それぞれがユニークIMAGEIDミラー、完全長128ビット、デフォルトの表示のみ12の略語であり、中間画像を生成-aビルドコマンドを参照してください。
層状構造を有するドッカーミラーは、ドッカー履歴を使用することは、画像点の層の数を照会することができ、それぞれの層に加えられた変更します
$ docker history dockerapitestimage:latest
IMAGE CREATED CREATED BY SIZE COMMENT
0112b74edea7 2 weeks ago /bin/sh -c #(nop) ENTRYPOINT ["dotnet" "Web… 0B
5185fbd03612 2 weeks ago /bin/sh -c #(nop) COPY dir:9a2de08b90587d600… 294kB
d2f4b4e061f1 2 weeks ago /bin/sh -c #(nop) EXPOSE 5000 0B
ca882651894c 2 weeks ago /bin/sh -c #(nop) WORKDIR /app 0B
e28362768eed 3 weeks ago /bin/sh -c aspnetcore_version=3.1.1 && c… 17.8MB
<missing> 3 weeks ago /bin/sh -c dotnet_version=3.1.1 && curl … 76.7MB
<missing> 3 weeks ago /bin/sh -c apt-get update && apt-get ins… 2.28MB
<missing> 3 weeks ago /bin/sh -c #(nop) ENV ASPNETCORE_URLS=http:… 0B
<missing> 3 weeks ago /bin/sh -c apt-get update && apt-get ins… 41.3MB
<missing> 3 weeks ago /bin/sh -c #(nop) CMD ["bash"] 0B
<missing> 3 weeks ago /bin/sh -c #(nop) ADD file:ba0c39345ccc4a882… 69.2MB
ミラーコマンドを削除します
$ docker image rm [Image Name]
Dockerfile
あなたは、あなたが簡単に直接実行することができ、操作のすべてのステップは、単一の書き込みで行われ、Dockerfileミラーでビルドステップを指定することができます。
ここでは簡単なDockerfileは以下のとおりです。
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
WORKDIR /app
EXPOSE 5000
COPY . .
ENTRYPOINT ["dotnet", "WebApplication1.dll"]
文法規則と共通のキーワードのDockerfileは以下のとおりです。
- 行の先頭のキーワードと各ライン、ラインが長すぎる場合、あなたはバックスラッシュ「」改行を使用することができます
- キーワードを指定FROM使用するベースイメージビルド
- MAINTAINERキーワード:指定した画像の作成者その
- ENVキーワード:環境変数の設定
- RUNキーワード:実行するシェルコマンド、複数のコマンドが使用できる場合は、「&&」の接続
- COPYキーワード:コンパイルマシンイメージ・ファイル・システムにローカルファイルをコピーします
- キーワードEXPOSE:指定リスニングポートに
- WORKDIRキーワード:あなたが作業ディレクトリに来て、指定のコンテナターミナルのデフォルトの着陸を作成した後
- ENTRYPOINTキーワード:キーワードとキーワードの間の差フロントつまり、キーワードはあなたがミラーを作成するときに実行され、ENTRYPOINT指定されたコンテンツは、コンテナの開始時に実行される前に
Dockerfileの実行
Dockerfile、それがドッキングウィンドウのビルドによって実行することができるディレクトリは、あなたも-fでDockerfileパスを指定することができます良いを書き込んだ後、-tを使用すると、イメージを構築したいという名前を使用して指定することができます。
$ docker build -t test:1.0
Dockerfile、キーワードに基づいてライン実行によってラインの内容に基づいて、ドッキングウィンドウのビルドは、すべてのステップは、一時的な中間画像を生成します。中間画像は、使用ドッカー画像LS -aビューであってもよいです。
ドッカー容器管理
ビュー既存のコンテナ、このマシンは、デフォルトの表示のみを実行し、増加が停止を含む、すべてのコンテナを表示する-a
$ docker ps -a
ベースのイメージファイルの作成と起動コンテナ、-dは、容器ようにバックグラウンドで実行することができます - 名前は変数が--env環境を渡して、容器の名前を指定することができ、
$ docker run -d --name api1 [Image Name]
コンテナが作成された後、ドッカーそれはまた、128のコンテナIDは、船名を作成するときにコンテナIDが指定されたデフォルトの12のショーの前に、またはによって、あなたがスタート容器を停止制御することができます割り当てられます。
$ docker stop <container id/name>
$ docker start <container id/name>
ビューの実行ログのコンテナを使用することができます。
$ docker logs <container id/name>
次のコマンドは、すべての基本的な情報は、操作、保管場所、設定パラメータ、ネットワーク設定など、容器を照会することができます
$ docker inspect <container id/name>
ドッキングウィンドウも「-f」テンプレートを使用Golangで指定された情報を抽出することができ、すべてのJSON形式で情報を表示する検査します
$ docker inspect -f {{.NetworkSettings.Bridge}} <container id/name>
システムリソースのリアルタイムビューは、CPU使用率、メモリ、ネットワークおよびディスクのオーバーヘッドとして、コンテナによって占め:
$ docker stats <container id/name>
コンテナ道の内部でコマンドを実行
$ docker exec <container id/name> <cmd>
ドッカー作曲
あなたが開始する場所は非常に面倒になりたい場合は、もう少し複雑なアプリケーションは、複数のコンテナ、コンテナを使用し、クラスタと容器の間の依存関係と相まって、それは非常に困難なアプリケーションを維持するために行います。ドッカーのコンは、基本的なマルチコンテナ管理の方法を提供します。
たとえば、WordPressのアプリケーションを作成するためには、次の2つのコマンドが必要です。
$ docker run --name db --env MYSQL_ROOT_PASSWORD=example -d mariadb
$ docker run --name MyWordPress --link db:mysql -p 8080:80 -d wordpress
そのMyWordPressコンテナ船デシベル依存するので、最初のスタートデシベルコンテナのため。
停止時に最初のピットストップのMuWordPressコンテナ、その後、停止デシベル。
ドッカー作曲の使用が容易に依存マルチコンテナの存在を管理することができます。
ドッカー-コン個別にインストールしておく必要があります。
そして、ドッキングウィンドウ-compose.ymlファイルの作成には、ドッキングウィンドウ-compose.yml後に上記のコマンドの内容のWordPressの変換はYMLの構文を使用して、次のように:
wordpress:
image:wordpress
links:
- db:mysql
ports:
- 8080:80
db:
image:mariadb
environment:
MYSQL ROOT PASSWORD:example
[ファイル]ドッキングウィンドウ-compose.ymlディレクトリを実行します
$ docker-compose up
すべてのコンテナのWordPressに依存したらあなたは始めることができます。
塗布後開始および停止することは非常に簡単です:
$ docker-compose stop
$ docker-compose start
開始及び停止時ドッカー-COMPOSE、自動的にコンテナ間の依存ため、スタート・ストップ・バイ・オーダー依存による容器を識別する。
ネストされたコマンド
ドッカーもサポートは、次のようなコマンド、実行、ネストされた
コンテナのIDを検索します:
$ docker ps -a |grep 0453e874jh93
画像のみと関連付けられているコンテナ名コンテナを表示します:
$ docker ps |awk '{pring $2,$NF}'
削除バッチ実行中のコンテナを停止しました:
$ docker rm $(docker ps -a -q)
Shenkaoziliao
リー・ジン・バン劉イェ殷チェンチュン日間スリランカ「ステップバイステップは、ドッカーを学びます」