LoginSignup
kikiki445
@kikiki445

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

Dockerのファイルをエクスプローラで開きたい

解決したいこと

Dockerでrubyとmysqlについてですがmy.cnfを反映したい場合mysqlを読み取り専用にしなくてはいけないらしくmysqlを検索したりしたのですが見つかりません。
まずエクスプローラにmysqlコンテナのファイルがないっぽいんですがどうしたらいいのでしょうか
他のrailsコンテナのファイルはエクスプローラのDockerfileなどを記述したとこにあります。 

0

3Answer

docker-compose.yml

ローカル環境にmy.cnfというファイルを作成して、
volumesに下記を追加してみてください!
※ローカル環境のmy.cnfのパスは任意です!
./my.cnf:/etc/mysql/conf.d/my.cnf

version: "3.9"
services:
  db:
    image: mysql:5.7
    container_name: rails_mysql
    volumes:
      - mysql-data:/var/lib/mysql
      - ./db/my.cnf:/etc/mysql/conf.d/my.cnf
....

参考になるサイトです

0

Comments

  1. @kikiki445

    Questioner
    ありがとうございます!反映できました。

お力になれる内容かと思いますが、情報が少なく、、

やりたいことは、my.cnfの反映でしょうか?

見せれる範囲で、
docker-compose.yml もしくは Dockerfileを共有いただけたら、
解決できるかもしれません。

0

Comments

  1. @kikiki445

    Questioner
    回答ありがとうございます。railsの環境を作りたかったのと初心者なので検索してコピーしたものなのですが

Dockerfile

FROM ruby:3.1.0
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
    && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \
    && apt-get update -qq \
    && apt-get install -y nodejs yarn
WORKDIR /myapp
COPY Gemfile* /myapp/
RUN bundle install -j4

 Add a script to be executed every time the container starts.
COPY entrypoint.sh /usr/bin/
RUN chmod +x /usr/bin/entrypoint.sh
ENTRYPOINT ["entrypoint.sh"]
EXPOSE 3000

 Configure the main process to run when running the image
CMD ["rails", "server", "-b", "0.0.0.0"]

docker-compose.yml

version: "3.9"
services:
  db:
    image: mysql:5.7
    container_name: rails_mysql
    volumes:
      - mysql-data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: password
      TZ: 'Asia/Tokyo'
    ports:
      - '3306:3306'
    command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password
  web:
    build: .
    container_name: rails_web
    command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
    volumes:
      - .:/myapp
    ports:
      - "3000:3000"
    depends_on:
      - db
    stdin_open: true
    tty: true
volumes:
  mysql-data:
    driver: local
0

Your answer might help someone💌