MySQLのデータをData Vlume Container(busybox)に退避しつつDBコンテナを立てたメモ

docker-compose.yml

docker-composeを使用する場合、以下を追記するだけでした 意外とあっさり構築が終わった(10分ぐらい)

# Data Volume Container
gandamu:
    container_name: gandamu
    hostname: gandamu
    image: busybox
    networks:
        b0:
            ipv4_address: 172.18.0.99
    environment:
        - "TZ=Asia/Tokyo"
    volumes:
        - /var/containers/gandamu/var/lib/mysql/:/var/lib/mysql/

# MySQL Server
my-gandamu:
    container_name: my-gandamu
    hostname: my-gandamu
    image: mysql:5.6
    networks:
        b0:
            ipv4_address: 172.18.0.50
    environment:
        - "TZ=Asia/Tokyo"
        - "MYSQL_ROOT_PASSWORD=root"
    volumes:
        - /var/containers/my-gandamu/etc/mysql/conf.d/:/etc/mysql/conf.d/
    volumes_from:
        - gandamu

gandamuがbusyboxのDataVolumeContainerで、my-gandamuがMySQLDBサーバです

他のコンテナからMySQLへの接続はmysql-clientを使う場合は以下でいけます

$ mysql -h my-gandamu -uroot -proot

MySQLサーバの設定を追加したい場合は、上記の場合は/var/containers/my-gandamu/etc/mysql/conf.d/に、末尾が.cnfのファイルを置いとけば起動時に反映されます