前提・実現したいこと
エディタで保存したファイルをコンテナ内のsqlファイルに同期させたい
作業としてエディタでsql編集•保存、Macターミナルからdockerのmysqlコンテナに接続
mysqlコマンドで実行するという流れをやりたいです。
お手数ですがどなたかご教授願います。
同期したいファイルの場所
macローカルファイル: User/testname/php-project/database/user.sql mysqlコンテナ: (docker inspectのマウント情報) "Mounts": [ { "Type": "volume", "Name": "b46fdabe1ab7188b6f0143766385ab7392e4354abcc3e5507d01f8b76b1f2ba3", "Source": "/var/lib/docker/volumes/b46fdabe1ab7188b6f0143766385ab7392e4354abcc3e5507d01f8b76b1f2ba3/_data", "Destination": "/var/lib/mysql", "Driver": "local", "Mode": "", "RW": true, "Propagation": "" } ],
試したこと
補足情報(FW/ツールのバージョンなど)
macOS:Mojave ver10.14.3
dockerEngine:18.09.1
mysql:Ver 5.7
エディタ:VScode
やりたいことが全くわからないです.
>エディタで保存したファイルをコンテナ内のsqlファイルに同期させたい
なぜですが?目的は同期だけではなさそうですが.,,
>同期ではなくファイルを都度コピー
都度コピーというのはどのようなコマンドでどこからどこに何をコピーしていますか?
docker exec でコンテナに入ってからcpコマンドを実行してもローカルからコンテナへファイルコピーできないですよね.
現状はvolumeを作成して,コンテナの/var/lib/mysqlにマウントしていますよね.
想像ですが,最終的にしたいことは,
①Macでsqlファイルを修正
②sqlファイルをmysqlに流す
ということでしょうか?
返信遅くなりました。
説明が不足していました。すいません。
おっしゃる通りでMacでsqlファイルを修正際にコンテナ内のmysqlへ反映できるかどうかです。ネット調べるとマウント関連の情報が出てきますが、未だ理解できてません。
目的はMySQLとDocker学習中で、mysql sourseコマンドで外部ファイルをDocker内で読み込みたい。そして編集と同時に反映できるかどうか(同期?)
①Macでsqlファイルの編集
②docker exec -it mysql bash
cd ./var/lib/mysql
③mysql -u root -p
④ >mysql \. ./user.sql
ターミナルではmysqlサーバーで接続した状態で、
Macでsqlファイル編集 → >mysql \. ./user.sqlという流れです。
回答2件
あなたの回答
tips
プレビュー