3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

dockerでMySQLを複数起動する方法(Xプロトコル・ポート重複注意)

Last updated at Posted at 2021-08-18

dockerコンテナで複数のMySQLを起動しようとすると、
何かと重複するので考慮してみた。

Xプロトコルの存在を知った。

重複が気になった部分

  • image(イメージ名)
    • イメージができた時点で同じ名前になってしまう
    • 異なるプロジェクトで使うDBだと設定が異なるので別イメージにする必要あり
    • docker-composeを入れているディレクトリ名が同じだと同じイメージ名になってしまうので設定でイメージ名を指定する
  • ports(ポート番号)
    • 通常使うポート番号3306以外にもXプロトコルのポート番号33060も重複する
  • hostname(ホスト名)
    • ホスト名はもちろん重複すると困るので分ける

docker-composeの例

1つ目
version: '3.1'
services:
  db:
    build: .
    image: mysql-kuma
    container_name: mysql-kuma
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: example
      MYSQL_DATABASE: kumadb
      MYSQL_USER: develop
      MYSQL_PASSWORD: develop
      TZ: Asia/Tokyo
    ports:
      - 13306:3306
      - 13060:33060
    hostname: kuma
2つ目
version: '3.1'
services:
  db:
    build: .
    image: mysql-panda
    container_name: mysql-panda
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: example
      MYSQL_DATABASE: pandadb
      MYSQL_USER: develop
      MYSQL_PASSWORD: develop
      TZ: Asia/Tokyo
    ports:
      - 23306:3306
      - 23060:33060
    hostname: kuma

参考

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?