" />
本ページはプロモーションが含まれています。

スポンサーリンク

Docker

Docker入門2~Dockerネットワーク~

なぜ、Dockerネットワークが必要か?

前提として、Dockerを使ったインフラ構築では、1つのコンテナに1つのソフトウェア(ミドルウェア)を搭載する構成を取るのが一般的である。

WordPressを例にとると、次のようなコンテナ群を構築する。

  • コンテナ1 Apache、Wordpress本体
  • コンテナ2 MySQL

この時、コンテナ同士を接続し、コンテナ1 -> コンテナ2、逆のコンテナ2 -> コンテナ1の通信を可能とするために、Dockerネットワークが必要となる。

Dockerネットワーク操作コマンド

Dockerネットワークの一覧表示 -> docker network ls

$ docker network ls
NETWORK ID     NAME               DRIVER    SCOPE
1e93e3d38617   bridge             bridge    local
ddc254dca608   host               host      local
290f9a26e1e0   none               null      local

Dockerネットワークを作成する -> docker network create

$ docker network create wordpress1
ddd3883441974f1bd642b54048080793691a0153f728381042388c4bd0e57d5d

$ docker network ls
NETWORK ID     NAME               DRIVER    SCOPE
1e93e3d38617   bridge             bridge    local
ddc254dca608   host               host      local
290f9a26e1e0   none               null      local
ddd388344197   wordpress1         bridge    local

ネットワークを指定してコンテナを起動する -> docker run -net=Xxx

docker network createで作成したネットワークに、コンテナを属させるために-netオプションを使用します。

MySQLのコンテナでは下記のようになります。

$ docker run --name mysql1 -dit --net=wordpress1 -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=wpdb -e MYSQL_USER=wpuser -e MYSQL_PASSWORD=wppass mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password

参考文献

この本で入門しました。めちゃくちゃわかりやすいです。

スポンサーリンク

-Docker