Dockerはコンテナの相互接続を実現します

Dockerはコンテナの相互接続を実現します

執筆の背景:

  1. Dockerで遊んでいたとき、ホストポートとコンテナポートの関係がわからなかったので接続に失敗しましたが、結局理解するのに時間がかかったので、この記事を書いて記録しました私の成長

接続キー:

  1. 相互に接続されたコンテナは、同じネットワーク上にある必要があります。docker-compose.yml設定された同じnetworks
  2. コンテナ自体のポートを使用した、コンテナ間のアクセス

個人的体験:

  1. ホストマシンはコンテナとともにlaradockインストールされます。介してホスト通常のアクセスによってページ通常のアクセスページgitlabjenkinshttp://localhost:8989gitlabwebhttp://localhost:8090jenkinsweb
  2. 私は希望jenkinsにアクセスするためにそこにgitlabページをし、その後にスイッチコンテナ、コンテナ名が、すべての接続が失敗していますhttp://localhost:8989localhost127.0.0.1IP
  3. その後、NN時間の情報の確認とテストの結果、コンテナ間の相互アクセスは同じネットワークに基づいており、マッピングとは関係のないコンテナ自体の開いているポートを介してアクセスされることが最終的にわかりました。
  4. したがって、コンテナdocker-compose.ymlのプロファイルgitlab設定では同じ値であり、に設定されますjenkinsnetworksbackend
  networks:
    - backend
  1. 最後にjenkins内部http://gitlab通過してアクセスします。URLにあるものはコンテナgitlabに解析さgitlabIPます。ページがコンテナのポート上にある8989ためgitlabポートはここは使用されませんweb80

おすすめ

転載: blog.csdn.net/DBCai/article/details/115273778