Railsも環境構築も初心者ですが、Docker for Macを使用してRails+MySQL+nginxの構成で仮想環境を構築しようとしています。
先日こちらのスレで質問させていただいた者です。←この問題はお陰様で解決したのですが、また新たなエラーに直面してしまいました。
https://qiita.com/zwirky/items/88a6c5dd16d0f9e9fea5
上記ページの手順に従い、コードをほぼコピペでターミナルに打ち込んでいったところ、ステップ8の「起動を確認」で詰まってしまいました。
具体的には、文中にあるコマンドdocker-compose run web rails new . --force --database=mysql --skip-bundle
を実行すると、途中で「ERROR: Service 'db' failed to build: ADD failed: stat /var/lib/docker/tmp/docker-builder475566792/mysql/my.cnf: no such file or directory」というエラーが出てストップしてしまいます。
よく読んでみると「mysql/my.cnfなんてファイルはないよ!」と怒られているように思うのですが、ステップ5の「MySQLコンテナの設定」で作成したmy.cnfがちゃんと存在しています。どうしたらちゃんと見つけてもらえるのでしょうか...。
参考ページ内のコードを変更した箇所は下記の通りです。
- 作業用ディレクトリは「work_dir」ではなく「my_app」に
- ダウンロードしたイメージのバージョン
ruby: 2.5.1
nginx: 1.15.3
mysql: 5.7.23
0. #2に伴いそれぞれのDockerfile内に記述するバージョン
0. ステップ4の「Ruby(Railsを利用するための)コンテナの設定」で作成するGemfile内に記述するRailsのバージョン(5.1.0ではなく5.2.1に)
書いてあるコマンドの意味はほとんど分かっておらず、そのためほぼコピペで使用している次第ですが、どなたか解決策をご教示いただけますと幸いです。よろしくお願い致します。
#追記@2018.09.11
試行錯誤を繰り返しながらdocker-compose.ymlのdb欄を下記のように書き換えてdocker-compose runを試したところ、ちょっとした進捗=新しいエラーが出ましたので追記させていただきます。
★書き換え後
db:
build:
context: ./containers/mysql
(dockerfile項目は削除)
★表示される新しいエラー
Starting my_app_datastore_1 ... error
ERROR: for my_app_datastore_1 Cannot start service datastore: b'Mounts denied: \r\nThe path /etc/localtime\r\nis not shared from OS X and is not known to Docker.\r\nYou can configure shared paths from Docker -> Preferences... -> File Sharing.\r\nSee https://docs.docker.com/docker-for-mac/osxfs/#namespaces for more info.\r\n.'
ERROR: for datastore Cannot start service datastore: b'Mounts denied: \r\nThe path /etc/localtime\r\nis not shared from OS X and is not known to Docker.\r\nYou can configure shared paths from Docker -> Preferences... -> File Sharing.\r\nSee https://docs.docker.com/docker-for-mac/osxfs/#namespaces for more info.\r\n.'
ERROR: Encountered errors while bringing up the project.
当初の「my.cnfが見つからない」エラーはひとまず抜けて、docker images
をするとmy_app_dbというのが一覧に表示されるようにはなっています。

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。