DockerでMySQLとphpMyAdminを使用する

環境

  • Docker version20.10.10
  • MySQL8.0
  • phpMyAdmin5.2

やり方

docker-compose.yml
version: "3.9"
services:
  mysql:
    image: mysql:8.0
    ports:
      - target: 3306
        published: 3306
        protocol: tcp
        mode: host
    volumes:
      - type: volume
        source: db-store
        target: /var/lib/mysql
        volume:
          nocopy: true
    environment:
      - MYSQL_ALLOW_EMPTY_PASSWORD=true
      - TZ=Asia/Tokyo

  phpmyadmin:
    image: phpmyadmin:5.2
    ports:
      - target: 80
        published: 80
        protocol: tcp
        mode: host
    volumes:
      - type: volume
        source: sessions
        target: /sessions
        volume:
          nocopy: true
    environment: 
      - PMA_ARBITRARY=1
      - PMA_HOST=mysql
      - PMA_USER=root
    links: 
      - mysql
volumes:
  db-store:
  sessions:
bash
docker-compose up -d

動作確認

データが永続化されていることを確認

phpMyAdminにアクセス

適当なデータベースを追加

コンテナを再構築

bash
docker-compose down
docker-compose up -d

phpMyAdminにアクセスして先ほど作成したデータベースが保持されていることを確認

データの削除

volumeを削除するオプションを指定してコンテナを再構築

bash
docker-compose down --volumes
docker-compose up -d

phpMyAdminにアクセスしてデータが削除されていることを確認

参考文献

コメントを残す

メールアドレスが公開されることはありません。