Docker+rails6+mysql8.0
rails6+mysql8.0でdocker-composeをGCP(centos7)で立ててみました。
基本はこの下記のやり方でhttps://qiita.com/nsy_13/items/9fbc929f173984c30b5d
いいと思います(感謝)
私は$ mkdir myapp
はしましたがmyappには入らないで構築しました
コードです。
Dockerfile
FROM ruby:2.6
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 \
&& mkdir /myapp
WORKDIR /myapp
COPY Gemfile /myapp/Gemfile
COPY Gemfile.lock /myapp/Gemfile.lock
RUN bundle install
COPY . /myapp
EXPOSE 3000
CMD ["rails", "server", "-b", "0.0.0.0"]
docker-compose.yml
version: '3'
services:
db:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: password
ports:
- '3306:3306'
command: --default-authentication-plugin=mysql_native_password
volumes:
- mysql-data:/var/lib/mysql
web:
build: .
command: 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
一応GCPで確認済みです。
ぜひ使ってみてください。
centos7に最新版のDocker入れる方法
https://qiita.com/inakadegaebal/items/be9fecce813cebec5986
docker-composeを入れる方法
https://qiita.com/uhooi/items/fb14d99d3323bd2eee9d
rm tmp/pids/server.pidの対処法
https://qiita.com/paranishian/items/862ce4de104992df48e1
以上です