インフラエンジニアを募集中です。詳細はこちらDockerのコンテナ上で作成したファイルを別コンテナに共有する方法DB&サーバWeb制作ツールyamashita2019.05.07みなさんごきげんよう。大型連休いかがお過ごしだったでしょうか。食べてネトフリ見て寝て、食べてアマプラ見て寝て、だったyamashitaです。今回はDockerのコンテナ上で作成したファイルを別コンテナに共有する方法を紹介したいと思います。INFILEに使用するファイルをPHPで作成し、MySQLで読み込む際にDockerで立てた環境だとひと手間必要なので、別記事として紹介させていただきます。共有が必要だったかPHPで編集したファイルをそのままデータベースに渡せることが理想でしたが、諸事情によりDockerのコンテナで環境を構築していました。そのため編集したファイルをそのままデータベースで読みこむ事は難しいため、コンテナ間でファイルを共有する方法が必要になりました。ことわりコンテナ管理はdocker-composeを使用しているものとします。事前にコンテナ間で共通したホストのディレクトリをマウントしておくこれをやらないとどうにもならないです。docker-compose.ymlの各コンテナのvolumes:の下にファイルパスを書いて指定します。./share_in_docker:/tmp/share_filePHP側実装例タイトルのファイル共有方法は上で完了です。以下は実装例になります。流れとしては元々あるcsvファイルのデータをデータベース用に編集、ファイルに書き込むという物です。その後にPHP内でクエリを実行します。前回の条件としてもらったファイルを編集してデータベースに受け渡すでした。$wpdb->query($query);まとめポイントは設定時にコンテナ間で共通して使用できるパスを指定する事です。これさえ出来ていれば実装例以外の利用方法も可能です。PHP側の実装例を書きましたが、ちょっとタイトルと外れていることもあるのであくまで例として見ていただければと思います。XDsito2019.03.27はてブプロトタイピングツール「figma」を使ってみたWebデザインkoya2019.03.12はてブバシャログ。Web制作スタッフによるブログです。「現場で使えるテクニック」をモットーに、Web制作全般についてお届けします。