DockerからDockerを構成する方法!
dockerで動作する場合は、すべてのアクションを入力するのは良い扱いではありません.時々、それは悪夢になることがあります.なぜなら、誤植がプロセスを中断し、すべてのコマンドを再実行するからです.
今日、私たちはどのようにDockerの構成は、Dockerを簡単にし、楽しい経験をすることについて学びます.
記事の範囲は Dockerがなぜ構成するか? Dockerの作成方法YMLファイル. 自動化するイメージと環境変数の構築. Dockerを構成し、通信する.(ポート、ボリューム、ネットワークの追加) コンテナログとシェルによるトラブルシューティング このアイデアはDockerコマンドラインからDockerコマンドを使用してDockerコマンドを使用してすべてのコマンド、および日常のタスクを移動することです.YMLファイルと当社の生産性をスピードアップします.
あなたがDockerについての考えを持っていないならば
Dockerがなぜ構成するか?
我々のアプリケーションの大部分は、現在単独で遊びません.彼らはデータベース、ストレージサービス、セキュリティAPI、およびそれらの周りのより多くのサービスを必要とし、それぞれがコンテナになる必要があります.
Dockerの作成は私たちの生活を簡素化し、単一のコマンドで実行を実行し、イメージを構築するのに役立ち、我々のコンテナを調整します.
要するに、Dockerの作成は、アプリケーションのライフサイクルの世話をすると、開始、停止のような私たちのコンテナのアクションを管理し、ステータスを取得し、ネットワークを公開し、通信を簡素化することができます.
Dockerを構成するコマンドは3つの重要なフラグが付属しています. すべての魔法は、Dockerの構成を使用して発生します.YMLファイルの背後にあるので、私たちはそれについて話しましょう.
Dockerはファイルを作成する
DockerFileのように、Dockerを使用します.YML、そしてそれは2つの主要な重要な領域を持ちます.そして、それは我々のコンテナ定義を表すスキーマ支持されたサービスとサービスを定義します.
サービスはコンテナを定義する場所ですこれは、画像、ビルド、環境、ボリューム、ポート、ネットワークなどのような追加のプロパティをサポートしています.
我々は、Dockerの方法とDockerを構成している最初に入力し、2番目の設定は、Dockerの構成に宣言します.京大理
Dockerを作成します.つのプロパティーを持つYMLファイル. バージョン:我々は使用するスキーマのバージョンをDockerを教えてください. サービスは"web "コンテナを宣言します.また、イメージプロパティを追加し、nginxに設定します.
コンテナーを構築、作成、および開始するには.
Dockerはコマンドを作成する
我々は、開始、停止、および当社のコンテナを監視するようなオプションがあります.
Dockerは以下のパラメータを受け入れます.
ポート
次の手順では、Dockerの方法でコンテナにアクセスするポートを宣言します.
巻
我々のマシンのコンテナからデータを保存するには、ボリュームを使用します.
環境変数
Docker方法で環境変数を宣言するには、次のように入力します.
ブリッジネットワーク
我々は、コンテナ間の通信を許可するブリッジネットワークを使用してアプリケーション、API、またはデータベースを通信するためにネットワークが必要です.
ドッカーウェイはタイプです.
環境変数の使用
大部分のシナリオでは、我々は生産と発展のために容器を持ちたいです.環境変数を使用してそれぞれの環境に対してビルドするDockerの構成について説明します.
まず、環境変数をLinuxやMacのマシンにエクスポートします.
Webdev . dockerfileは開発モードでHTTPサーバを使用します.
Dockerファイル名は、環境変数のような補間を使用します
ターミナルランへ
DockerHubに画像を公開する
DockerHubに画像を公開するのを覚えているなら、DockerHubのユーザ名とイメージを教えてください.
Dockerのやり方で
トロイ抜き容器
コンテナは時々失敗するか、ログを見る必要があります.
Dockerの方法では、次のようにコンテナIDを書く必要があります.
Dockerの作成ログ-- tail = 5
貝を容器に入れる
時々、コンテナとリストへのアクセスを取得するか、彼の中をナビゲートする必要があります.
Dockerウェイで
概要
さて、要するに、私たちはあなたのコンテナを調整し、ポート、ボリューム、変数、およびネットワークをDockerの作成ファイルに宣言するのを助けるためにDocker構成を使用する方法を学びました.
また、ログを読み込み、Dockerの作成コマンドを使用して、コンテナの起動、停止、削除、リストの使用を行います.
Dockerを使って簡単にタスクを作成し、実行とコンテナに関するコンテキストを持っているので、簡単にタスクを作成できます.
写真でfrank mckenna on Unsplash
今日、私たちはどのようにDockerの構成は、Dockerを簡単にし、楽しい経験をすることについて学びます.
記事の範囲は
あなたがDockerについての考えを持っていないならば
Dockerがなぜ構成するか?
我々のアプリケーションの大部分は、現在単独で遊びません.彼らはデータベース、ストレージサービス、セキュリティAPI、およびそれらの周りのより多くのサービスを必要とし、それぞれがコンテナになる必要があります.
Dockerの作成は私たちの生活を簡素化し、単一のコマンドで実行を実行し、イメージを構築するのに役立ち、我々のコンテナを調整します.
要するに、Dockerの作成は、アプリケーションのライフサイクルの世話をすると、開始、停止のような私たちのコンテナのアクションを管理し、ステータスを取得し、ネットワークを公開し、通信を簡素化することができます.
Dockerを構成するコマンドは3つの重要なフラグが付属しています.
docker-compose build
Dockerの構成に定義されたコンテナをビルドします.京大理docker-compose up
コンテナとネットワークを起動します.docker-compose down
コンテナとネットワークを止めてください.Dockerはファイルを作成する
DockerFileのように、Dockerを使用します.YML、そしてそれは2つの主要な重要な領域を持ちます.そして、それは我々のコンテナ定義を表すスキーマ支持されたサービスとサービスを定義します.
サービスはコンテナを定義する場所ですこれは、画像、ビルド、環境、ボリューム、ポート、ネットワークなどのような追加のプロパティをサポートしています.
In YML files, the indentation matters and always use space.
我々は、Dockerの方法とDockerを構成している最初に入力し、2番目の設定は、Dockerの構成に宣言します.京大理
Dockerを作成します.つのプロパティーを持つYMLファイル.
version: '3.0'
services:
web:
image: nginx
ファイルを保存し、コマンドを実行しますdocker-compose up
,コンテナーを構築、作成、および開始するには.
dany@dany:~/Documents/docker-learn$ docker-compose up
Building with the native build. Learn about the native build in Compose here: https://docs.docker.com/go/compose-native-build/
Creating docker-learn_web_1 ... done
Attaching to docker-learn_web_1
web_1 | Starting up HTTP-server, serving ./
Dockerの構成は既に終了し、出力を端末に表示します.Dockerはコマンドを作成する
我々は、開始、停止、および当社のコンテナを監視するようなオプションがあります.
Dockerは以下のパラメータを受け入れます.
start
: 端末に接続せずにコンテナを起動します.docker-compose start
start -d
: 特定のコンテナーを起動し、- Dフラグで端末から切り離します.docker-compose up -d web
--no-deps container name
: 依存関係なく特定のコンテナを起動します.docker-compose up --no-deps web
ps
: アクティブコンテナを表示します.docker-compose ps
stop
: コンテナを停止します.docker-compose stop
ポート
次の手順では、Dockerの方法でコンテナにアクセスするポートを宣言します.
docker run -p 80:80 imagename
Dockerでは、ポートに追加のプロパティを追加します. ports:
- "3000:3000"
巻
我々のマシンのコンテナからデータを保存するには、ボリュームを使用します.
docker run -v $(PWD):/var/www imagename
Dockerで、ホストディレクトリとコンテナーパスで新しいプロパティボリュームを追加します. volumes:
-./logs: var/www/logs
環境変数
Docker方法で環境変数を宣言するには、次のように入力します.
docker run --env NODE_ENV=production imagename
Dockerでは、すべての変数の一覧を追加したプロパティ環境を追加します. enviroment:
- NODE_ENV=production
- APP_VERSION: 1.0
または負荷を指定します.env_file
- ./settings.env
- ./app.env
ブリッジネットワーク
我々は、コンテナ間の通信を許可するブリッジネットワークを使用してアプリケーション、API、またはデータベースを通信するためにネットワークが必要です.
ドッカーウェイはタイプです.
docker network create --driver bridge network name
Dockerで新しいキーを作成するnetworks
ドライバの名前と型を指定します.networks:
danynetwork:
driver: bridge
環境変数の使用
大部分のシナリオでは、我々は生産と発展のために容器を持ちたいです.環境変数を使用してそれぞれの環境に対してビルドするDockerの構成について説明します.
まず、環境変数をLinuxやMacのマシンにエクスポートします.
export WEB_ENV=dev
export WEB_ENV= prod
PowerShellでWindowsマシンで.$env:WEB_ENV = "dev"
次のステップは、名前のWebで2つのDockerファイルを作成することです.dev . dockerfileとweb.dockerfileWebdev . dockerfileは開発モードでHTTPサーバを使用します.
FROM node:alpine
LABEL author=" Dany Paredes"
WORKDIR /var/www
COPY src/index.html .
RUN npm install http-server -g
EXPOSE 8080
ENTRYPOINT ["http-server"]
Webを使用します.FROM nginx
LABEL author="Production"
WORKDIR /usr/share/nginx/HTML
COPY src/index.html .
EXPOSE 80
Dockerの作成を編集します.サービスにYMLを使用すると、イメージキーを削除し、コンテキスト、ファイル、およびDockerFile名を指示するビルドオプションを追加します.Dockerファイル名は、環境変数のような補間を使用します
web.${WEB_ENV}.dockerfile
例えば環境変数の値を取得します.version: '3.0'
services:
web:
build:
context: .
dockerfile: web.${WEB_ENV}.dockerfile
networks:
danynetwork:
driver: bridge
Dockerの作成は、環境変数WebCount ENVをビルドプロセスで受け取り、値NGinxに代入します{ WebRange env }環境変数を持つDockerfile.ターミナルランへ
docker-compose build
, これは、dev環境を使用してコンテナを作成します.docker-compose build
Sending build context to Docker daemon 47.62kB
Successfully built f68d5cded665
Successfully tagged docker-learn_web:latest
我々は環境変数を出版プロセスでDockerハブに使用することができます.DockerHubに画像を公開する
DockerHubに画像を公開するのを覚えているなら、DockerHubのユーザ名とイメージを教えてください.
Dockerのやり方で
docker push dockerhubusername/imagename
Dockerを使用すると、DockerHubuserのようなDocker Hubのユーザ名の別の環境変数を宣言します.export DOCKERHUBUSER=danywalls
Dockerの作成を編集します.ylとコンテナのプロパティを追加するimage
イメージ名の一部として${ DockerHubuser }の値で.version: '3.0'
services:
web:
image: ${DOCKERHUBUSER}/web
build:
context: .
dockerfile: web.${WEB_ENV}.dockerfile
networks:
- danynetwork
networks:
danynetwork:
driver: bridge
次に、実行しているDockerは押します.これは、自動的にDockerHubに我々のイメージを公開します.dany@dany:~/Documents/docker-learn$ docker-compose push
Pushing web (danywalls/web:latest)...
The push refers to repository [docker.io/danywalls/web]
latest: digest: sha256:c4ac44d2e318200eeafb03cdb7e64bc60d0da52092de5bacd69e2e9de10402c0 size: 1783
トロイ抜き容器
コンテナは時々失敗するか、ログを見る必要があります.
Dockerの方法では、次のようにコンテナIDを書く必要があります.
docker logs myid
Dockerの構成では、実行のコンテキストを使用して、すべてのサービスのログを示します.気象研docker-compose logs
または名前を使用して特定のコンテナを選択します.docker-compose logs web
そして、ログから最後の5行をお読みください.Dockerの作成ログ-- tail = 5
貝を容器に入れる
時々、コンテナとリストへのアクセスを取得するか、彼の中をナビゲートする必要があります.
Dockerウェイで
docker exec it container id sh
Dockerの作成方法は、コンテナ名を使用してよく似ています.docker-compose exec web sh
概要
さて、要するに、私たちはあなたのコンテナを調整し、ポート、ボリューム、変数、およびネットワークをDockerの作成ファイルに宣言するのを助けるためにDocker構成を使用する方法を学びました.
また、ログを読み込み、Dockerの作成コマンドを使用して、コンテナの起動、停止、削除、リストの使用を行います.
Dockerを使って簡単にタスクを作成し、実行とコンテナに関するコンテキストを持っているので、簡単にタスクを作成できます.
写真でfrank mckenna on Unsplash
Reference
この問題について(DockerからDockerを構成する方法!), 我々は、より多くの情報をここで見つけました https://dev.to/this-is-learning/from-docker-to-docker-compose-way-56hテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol