私は大学2年生で作成したプロジェクトをDockerizeとOpen Sourceにしようとしていますが、このプロジェクトではMariaDB、phpMyAdmin、PHP/Yii Frameworkを使用しています。ドッカーボリュームMariaDB Windows
私の目的は、単純な docker-compose up
コマンドを使用して準備を整えることです。
phpMyAdminとDBが接続されていて、Dockerにデータベースボリュームへの相対パスを持たせて、一貫性を持たせようとしています。ここで
私はボリュームのマウントに関するしているものです:
volumes:
- './database/mysql/:/var/lib/mysql'
これは、プロジェクト内のデータベースファイルを保存していると私は.gitignore
にそれらのファイルを無視することができ、私はこの構成ではdocker-compose up
を実行すると、問題があります私が手:
Invalid volume specification: 'C:\Users\MySelf\coding\my_app\database\mysql:/var/lib/mysql:rw'
ホストに関しては、私はドッカーツールボックスでWindowsを使用していますが、私はワットにdocker-compose.yml
をしたいですorkに依存します。
他の質問も似ていますが、私の探していないWindows上の絶対パスの問題が原因です。
EDIT:あなたMount a host directory as a data volume正しい最終ドッカ-compose.ymlを追加し、うまくいけば、それは
version: '2'
services:
web_db:
build: ./database/mysql
command: "mysqld --innodb-buffer-pool-size=20M"
volumes:
- ./database/mysql/data/:/var/lib/mysql
- ./database/mysql/initDB/create_tables.sql:/docker-entrypoint-initdb.d/create_tables.sql
environment:
MYSQL_ROOT_PASSWORD: 'YOURPASSWORD'
MYSQL_DATABASE: 'support-technique'
MYSQL_ROOT_HOST: '172.17.0.1'
ports:
- "3306:3306"
container_name: web_db
web:
build: .
depends_on:
- web_db
links:
- web_db:db
ports:
- "80:80"
phpmyadmin:
image: phpmyadmin/phpmyadmin
depends_on:
- web_db
links:
- web_db:mysql
ports:
- "8181:80"
environment:
PMA_HOST: mysql
しかし、 '/ var/lib/mysql'はLinuxのパスです! – Hackerman
@Hackerman '/ var/lib/mysql'はホストマシン上にないDockerコンテナ内のパスです – Daniel