Docker作曲、ボリューム、ネットワークとより多くを使う方法
7543 ワード
写真でPhilippe Oursel on Unsplash
DockerパートIIIを簡素化する私の謙虚な努力
「私のマシンで働く」症候群の解決
これは、単純なDockerシリーズの最後の投稿です(あなたが前のものを読んでいないならば、先へ行って、彼らを読んでください)、それは後でより意味をなします — part I & part II ). 今回はネットワーク、Dockerの作成、Dockerのボリュームなどをカバーします.
それはすべてのDockerの構成では何ですか?
Dockerの作成を定義し、マルチコンテナのDockerアプリケーションを実行することができます.作成すると、YAMLファイルを使用してアプリケーションのサービスを設定します.その後、1つだけのコマンドで作成されたすべてのサービスを開始できます.
次の例はTechWorld with Nana GITLAB .BTW、ナナのYouTubeチャンネルは非常にお勧めです.以下はDockerのチュートリアルです.
以下の例では、MongoDBコンテナをMongo Expressコンテナと一緒に実行します.前の記事で見たように、以下のような方法があります.
音量を大きくする
https://medium.com/media/c461c2386ead3ec2b5ef9f5f2472e58b/href
各々のDockerは異なったファイルシステムを持っています.以前に見たように、コンテナを終了するとき、ほとんどのファイルが削除されますcommit コマンド)それで、あなたはファイルを保存するためにボリュームを使うことができます、あるいは、コンテナの範囲内で使われるためにあなたのローカルシステムのファイルを指すことができます.そのためには、次のように両方のファイルシステムを接続する必要があります.
接続する
互いとコミュニケートするsrc
もう一つの重要な概念はネットワークです;いくつかのコンテナのネットワークを作成できます.デフォルトでは、dockerは各docker実行のために1つを作成します.それでも、いくつかの状況で、あなたはそれを名前にして、コンテナより多くのために同じネットワークをセットしたいです;したがって、彼らはお互いに通信することができます.
作成したネットワークがすべてコマンドを実行するのを確認するには、次のコマンドを実行します.
ドッカーイメージサイズダイエット
画像サイズを縮小する —
ドッカー画像サイズはすぐに2、5、さらに15 GBに膨らませることができます.最善の練習は、2、3の理由でそれを減らすことです. より小さいサイズは、場所から場所へより簡単に動くことを意味します ローカルファイルシステムの空き領域 通常、画像はクラウドリポジトリに格納されます.サイズが小さいほど、コストが下がる セキュリティ — 必要なものだけをインストールする それではどのようにイメージのサイズのダイエットを行うことができますか? 同じdockerfile上で複数の意味の複数のイメージ(“from”)とビルドコマンドでビルドするものを定義します.そうするためには、各層に名前を付けることを強く勧めます.
Dockerビルド — target = targetRange name - tコンテナ名です. 小さなサイズの画像をベースに画像.などの配布を使用することができますalpine LinuxまたはGoogleのdistroless .
イメージ調査者
このガイドを包む前に最後に、オープンソースユーティリティをDive . その多くの機能の中で、各レイヤのコンテンツ、ファイルサイズ、および詳細を探索することができます.基本的に、それはあなたがDocker画像を分析するのに役立ちます.結局、イメージサイズを減らす方法を考えるのに十分な情報を提供します.
終わる
このポストと前のものは、ちょうどDockerがすることができる氷山の先端です.私はそれを十分に簡素化することを望みます、そして、あなたがこれまでにそれをしたならば、あなたは始まるために基本的な技術がなければなりません.
楽しむ!
閉じるこの動画はお気に入りから削除されています.
DockerパートIIIを簡素化する私の謙虚な努力
「私のマシンで働く」症候群の解決
これは、単純なDockerシリーズの最後の投稿です(あなたが前のものを読んでいないならば、先へ行って、彼らを読んでください)、それは後でより意味をなします — part I & part II ). 今回はネットワーク、Dockerの作成、Dockerのボリュームなどをカバーします.
それはすべてのDockerの構成では何ですか?
Dockerの作成を定義し、マルチコンテナのDockerアプリケーションを実行することができます.作成すると、YAMLファイルを使用してアプリケーションのサービスを設定します.その後、1つだけのコマンドで作成されたすべてのサービスを開始できます.
次の例はTechWorld with Nana GITLAB .BTW、ナナのYouTubeチャンネルは非常にお勧めです.以下はDockerのチュートリアルです.
以下の例では、MongoDBコンテナをMongo Expressコンテナと一緒に実行します.前の記事で見たように、以下のような方法があります.
docker run -d -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=password --name mongodb mongo
docker run -d -p 8081:8081 -e ME_CONFIG_MONGODB_ADMINUSERNAME=admin -e ME_CONFIG_MONGODB_ADMINPASSWORD=password -e ME_CONFIG_MONGODB_SERVER=mongodb --name mongo-express mongo-express
等価のYAMLコンフィギュレーションバージョンは、クリーンで読みやすいです.version: '3'
services:
mongodb:
image: mongo
ports:
- 27017:27017
environment:
- MONGO_INITDB_ROOT_USERNAME=admin
- MONGO_INITDB_ROOT_PASSWORD=password
mongo-express:
image: mongo-express
ports:
- 8080:8081
environment:
- ME_CONFIG_MONGODB_ADMINUSERNAME=admin
- ME_CONFIG_MONGODB_ADMINPASSWORD=password
- ME_CONFIG_MONGODB_SERVER=mongodb
使用するには、単に実行しますdocker-compose -f filename.yaml up
, 削除するには、引数を下に置き換えます.音量を大きくする
https://medium.com/media/c461c2386ead3ec2b5ef9f5f2472e58b/href
各々のDockerは異なったファイルシステムを持っています.以前に見たように、コンテナを終了するとき、ほとんどのファイルが削除されますcommit コマンド)それで、あなたはファイルを保存するためにボリュームを使うことができます、あるいは、コンテナの範囲内で使われるためにあなたのローカルシステムのファイルを指すことができます.そのためには、次のように両方のファイルシステムを接続する必要があります.
docker run -v /path/in/host:/path/in/container -it image_name
上記のコマンドは/path/in/コンテナがローカルのファイルシステムの/path/in/hostにマップされるコンテナを実行します.別のオプションはユニークな名前付きボリュームを使用することです、そこで、Dockerがローカルファイルシステムの場所を設定し、ユーザーがコンテナの場所を次のように設定します.docker run -v name:/path/in/container -it image_name
名前付きボリュームの情報を取得するには、コマンドを使用しますdocker volume inspect volume\_name
を削除するには:docker volume rm volume\_name
. 直接のフォローアップは、コンテナにコピーしてからどのようにコピーするかです(以前に見たコピーコマンドは答えではありません.以下のコマンドを使用してコンテナにコピーします.docker cp <src_path> <container>:<dest_path>
* container - the ID or name of the container
コンテナからコピーするには以下のようにします.docker cp <container>:<src_path> <dest_path>
* container - the ID or name of the container
接続する
互いとコミュニケートするsrc
もう一つの重要な概念はネットワークです;いくつかのコンテナのネットワークを作成できます.デフォルトでは、dockerは各docker実行のために1つを作成します.それでも、いくつかの状況で、あなたはそれを名前にして、コンテナより多くのために同じネットワークをセットしたいです;したがって、彼らはお互いに通信することができます.
作成したネットワークがすべてコマンドを実行するのを確認するには、次のコマンドを実行します.
docker network ls
ネットワークを作成するには、次の手順に従います.docker network create network_name
そして最後に、このネットワークでコンテナを発射します.docker run --net network_name -it image_name
別の便利なコマンドは、コンテナ間の通信を可能にする別のコンテナのネットワークに基づいてコンテナを実行することです.私たちは今までのコンテナの通信方法を見ましたが、外部ソースからデータを共有したい場合はどうでしょうか?この場合、コンテナが待機する内部ポートを定義します.インdocker run -p 5050:80 image\_name
コマンドは、ホスティングシステムポート5050がコンテナのポート80に接続されていることを規定する.ドッカーイメージサイズダイエット
画像サイズを縮小する —
ドッカー画像サイズはすぐに2、5、さらに15 GBに膨らませることができます.最善の練習は、2、3の理由でそれを減らすことです.
Dockerビルド — target = targetRange name - tコンテナ名です.
イメージ調査者
このガイドを包む前に最後に、オープンソースユーティリティをDive . その多くの機能の中で、各レイヤのコンテンツ、ファイルサイズ、および詳細を探索することができます.基本的に、それはあなたがDocker画像を分析するのに役立ちます.結局、イメージサイズを減らす方法を考えるのに十分な情報を提供します.
終わる
このポストと前のものは、ちょうどDockerがすることができる氷山の先端です.私はそれを十分に簡素化することを望みます、そして、あなたがこれまでにそれをしたならば、あなたは始まるために基本的な技術がなければなりません.
楽しむ!
閉じるこの動画はお気に入りから削除されています.
Reference
この問題について(Docker作曲、ボリューム、ネットワークとより多くを使う方法), 我々は、より多くの情報をここで見つけました https://dev.to/dejavo/how-to-use-docker-compose-volumes-networks-and-more-4a24テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol