はじめに Dockerを利用するとコンテナをぽこぽこ沢山立てることが多いと思います。 コンテナが沢山できるので、それらに対していかに効率よくアクセス出来るかが肝になります。 またコンテナで提供するサービスのポートをホストに割り当てて利用する場合(-pオプションを利用する場合)、 ポコポコ出来るコンテナのポートを静的に(-p 80:8080みたいに)割り当てるのは面倒です。 なので動的に(-p 80みたいにしてホストの適当なポートに)割り当てたいところです。 ただし、動的に割り当てるとどのコンテナがどのポートでサービスを提供しているか把握するのが難しくなり、さらにマルチホストになるとどのホストで動いているかどうかを把握する必要もあり、これも難しいです。 この辺うまいこと出来ないかな、ということでServiceDiscoveryといったらConsulですよねってことで組み合わせて使ってみます。
![DockerコンテナをConsulで管理する方法 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/b7cc264bf7504755b89a9d114abc2ded5b6f2c1f/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fogp-background-1150d8b18a7c15795b701a55ae908f94.png%3Fixlib%3Drb-1.2.2%26w%3D1200%26mark%3Dhttps%253A%252F%252Fqiita-user-contents.imgix.net%252F~text%253Fixlib%253Drb-1.2.2%2526w%253D840%2526h%253D380%2526txt%253DDocker%2525E3%252582%2525B3%2525E3%252583%2525B3%2525E3%252583%252586%2525E3%252583%25258A%2525E3%252582%252592Consul%2525E3%252581%2525A7%2525E7%2525AE%2525A1%2525E7%252590%252586%2525E3%252581%252599%2525E3%252582%25258B%2525E6%252596%2525B9%2525E6%2525B3%252595%2526txt-color%253D%252523333%2526txt-font%253DAvenir-Black%2526txt-size%253D54%2526txt-clip%253Dellipsis%2526txt-align%253Dcenter%25252Cmiddle%2526s%253Dfad180832672587e189b0d4a9b8049ca%26mark-align%3Dcenter%252Cmiddle%26blend%3Dhttps%253A%252F%252Fqiita-user-contents.imgix.net%252F~text%253Fixlib%253Drb-1.2.2%2526w%253D840%2526h%253D500%2526txt%253D%252540foostan%2526txt-color%253D%252523333%2526txt-font%253DAvenir-Black%2526txt-size%253D45%2526txt-align%253Dright%25252Cbottom%2526s%253D3b55dedc946d6ab2e2e88809ed21888e%26blend-align%3Dcenter%252Cmiddle%26blend-mode%3Dnormal%26s%3Dbdf831f67b58324aa671589154279ec2)