ro-ze1106
@ro-ze1106 (tomo)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

rails react SPA環境構築時のdockerのエラーについて

解決したいこと

SPAのアプリを制作しようと思い、環境構築していました。まずは、バックエンド側のdocker-composeを書いてから、railsアプリを作成しようとしたところにエラーが発生しました。
解決方法を教えて下さい。

現在のディレクトリ構成
スクリーンショット 2021-12-19 1.02.33.png

参考URL
https://qiita.com/taki_21/items/613f6a00bc432d1c221d

発生している問題・エラー

Creating volume "_mysql-data" with default driver
ERROR: create _mysql-data: "_mysql-data" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed. If you intended to pass a host directory, use absolute path

該当するソースコード

docker-compose.yml

version: "3"

services:
  db:
    image: mysql:8.0
    environment:
      MYSQL_ROOT_PASSWORD: password
    command: --default-authentication-plugin=mysql_native_password
    volumes:
      - mysql-data:/var/lib/mysql
      - /tmp/dockerdir:/etc/mysql/conf.d/
    ports:
      - 3306:3306

  api:
    build:
      context: ./backend/
      dockerfile: Dockerfile
    command: /bin/sh -c "rm -f /myapp/tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
    image: rails:dev
    volumes:
      - ./backend:/myapp
      - ./backend/vendor/bundle:/myapp/vendor/bundle
    environment:
      TZ: Asia/Tokyo
      RAILS_ENV: development
    ports:
      - 3001:3000
    depends_on:
      - db

volumes:
  mysql-data:

自分で試したこと

エラー文に絶対パスを使用してくださいと書いてあったので、

volumes:
      - mysql-data:/var/lib/mysql

所を絶対パスで書いてみたところ同じエラーがでます。

0

1Answer

[docker-compose.ymlのあるディレクトリ名]_[volume名] で作成されるようですが[docker-compose.ymlのあるディレクトリ名]が取得できないようです。作業するディレクトリを変更して試してみてはどうでしょうか

1Like

Comments

  1. @ro-ze1106

    Questioner

    ご回答ありがとうございます。
    作業ディレクトリ名が日本語だったので、うまくいかなかったみたいです。
    なぜ日本語だとエラーになるのか分かりますか?
  2. @ro-ze1106

    Questioner

    ご回答ありがとうございます。
    githubでこのように調べることができるんですね。
    勉強になります。

Your answer might help someone💌