外部アクセス ポートをランダムにマップする -P フラグを使用すると、Docker は 49000 から 49900 の間のポートをコンテナ内で公開されているネットワーク ポートにランダムにマッピングします。docker run -d -P training/webapp python app.py docker ps -l # 最近作成されたコンテナを表示します docker logs -f web # アプリケーション情報を表示します すべてのインターフェースアドレスをマップする docker run -d -p 5000:5000 トレーニング/ウェブアプリ python app.py 指定されたアドレスの指定されたポートにマップします docker run -d -p 127.0.0.1:5000:5000 トレーニング/ウェブアプリ python app.py 指定されたアドレスの任意のポートにマップする docker run -d -p 127.0.0.1::5000 トレーニング/ウェブアプリ python app.py UDPポートを指定する docker run -d -p 127.0.0.1:5000:5000/udp トレーニング/webapp python app.py マッピングされたポート構成を表示する docker ポート ウェブ 5000 新しいDockerネットワークを作成する docker ネットワーク作成 -d ブリッジ my-net コンテナを実行して、新しく作成したmy-netネットワークに接続します。 docker run -it --rm --name busybox1 --network my-net busybox sh docker run -it --rm --name busybox2 --network my-net busybox sh コンテナ情報の表示 docker コンテナ ls コンテナが接続されているかどうかを確認するためにコンテナ内でpingテストを実行します。 複数のコンテナを相互接続するにはDocker Composeが推奨されます DNSの設定 ホストのDNS情報が更新されると、すべてのDockerコンテナのDNS設定が/etc/resolv.confを通じて直ちに更新されます。 すべてのコンテナのDNSを構成する vim /etc/docker/daemon.json にコンテンツを追加 { 'DNS':[ 「114.114.114.114」、 「8.8.8.8」 ] } docker run -it --rm ubuntu:17.10 cat /etc/resolv.conf コンテナ相互接続 コンテナの接続システムは、ポート マッピングに加えて、コンテナ内のアプリケーションと対話するもう 1 つの方法です。 ソースコンテナと受信コンテナの間にトンネルを作成し、受信コンテナはソースコンテナによって指定された情報を見ることができます。 カスタムコンテナ名 接続システムはコンテナの名前に基づいて実行されるため、比較的シンプルで区別しやすいコンテナ名をカスタマイズする必要があります。 カスタム命名では、以前の記事で説明した --name パラメータを使用します。 docker run -d -p --name db mysql コンテナ名は一意である必要があります。 docker run 実行時に --rm パラメータを追加すると、終了直後にコンテナが削除されます。ただし、-d パラメータとの併用はできません。 コンテナ相互接続 --link パラメータを使用して、コンテナ間のやり取りのための安全な接続を確立します。 次に例を示します。 まずデータベース コンテナを作成します。 docker run -d --name db トレーニング/postgres 次に、Web コンテナを作成します。 docker run -d -P --name web --link db:db training/webapp python app.py この時点で、db コンテナと web コンテナは相互接続されます。 --link パラメータ: --link name:alias、name は接続するコンテナの名前、alias はこの接続のエイリアスです。 docker ps を使用してコンテナ情報を表示できます。名前の列には相互接続のステータスが表示されます。 Docker は相互接続された 2 つのコンテナ間に安全なトンネルを確立し、ポートをホストにマッピングする必要をなくし、ポートの公開を防ぎます。 Docker は接続情報を 2 つの方法で公開します。
env コマンドを使用して、Web コンテナの環境変数を表示します。 docker run --rm --name web2 --link db:db training/webapp env ... DB_ で始まる環境変数は、Web コンテナが db コンテナに接続するために使用され、大文字の接続エイリアスがプレフィックスとして付けられます。 Docker は環境変数に加えて、親コンテナの /etc/hosts ファイルにホスト情報も追加します。 Web コンテナはデフォルトのホスト名として独自の ID を使用し、db コンテナはホスト名として db を使用します。 たとえば、複数の Web から DB へのコンテナーの場合、複数の子コンテナーを親コンテナーにリンクできます。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: JavaScriptは4桁のランダム検証コードの生成を実装します
>>: CentOS 上での MySQL 5.6 のコンパイルとインストール、および複数の MySQL インスタンスのインストールの詳細な説明
インターネットは人々の生活にますます欠かせないものになってきていると思います。 Ajax や fle...
最近、PHP で Web ページを書いているときに、エンコードを UTF-8 に設定しました。しかし...
目次1 システムスループットの簡単な紹介2 試験方法2.1 クライアントテストツール2.1.1 GE...
導入:インターネット上にはデータベースの最適化に関する情報や方法が数多くありますが、その多くは品質に...
目次1. 理論シリアル化可能繰り返し読み取りコミットされた読み取りコミットされていない読み取り2. ...
序文バックエンド開発では、一度に大量のデータがロードされ、メモリやディスク IO のオーバーヘッドが...
1. はじめになぜインデックスが必要なのでしょうか?一般的なアプリケーション システムでは、読み取り...
1. クリアフローティング法1前の親要素の高さを設定します。注: エンタープライズ開発では、可能であ...
Visual Studio Code は、Microsoft が開発した強力なテキスト エディター...
<br />このページはUTF8エンコードを使用しており、ヘッダーとフッターはテンプレー...
目次序文関連資料成果を達成する実装手順序文Openlayer には独自の拡張プラグイン ol-ext...
序文現在、プロジェクトでは、Axios ライブラリが HTTP インターフェース リクエストによく使...
1. コンポーネントの実装方法:組件名稱首字母必須大寫1. JS関数を通じてコンポーネントを実装...
目次古典的なアプローチ質問その他の質問注意が必要な問題古典的なアプローチご存知のとおり、アカウントの...
メモ帳プログラムは、HTML + CSS + JavaScript の 3 つの主要なフロントエンド...