-
-
Save yujiym/ba90dead9bbd1eefba4a9826aed23c7e to your computer and use it in GitHub Desktop.
Docker ComposeでRails環境作成
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/sh | |
| rails_version="${RAILS_VERSION:-latest}" | |
| ruby_version="${RUBY_VERSION:-2.3}" | |
| docker run --rm -v `pwd`:/usr/src/app rails:$rails_version rails new /usr/src/app --database mysql --git --force | |
| cat << __EOT__ > Dockerfile | |
| FROM ruby:$ruby_version | |
| ENV LANG C.UTF-8 | |
| RUN apt-get update && \\ | |
| apt-get install -y nodejs mysql-client --no-install-recommends && \\ | |
| rm -rf /var/lib/apt/lists/* && \\ | |
| mkdir -p /usr/src/app | |
| WORKDIR /usr/src/app | |
| COPY Gemfile /usr/src/app/ | |
| COPY Gemfile.lock /usr/src/app/ | |
| RUN bundle install | |
| COPY . /usr/src/app | |
| EXPOSE 3000 | |
| CMD ["./bin/rails", "server", "-b", "0.0.0.0"] | |
| __EOT__ | |
| cat << __EOT__ > docker-compose.yml | |
| rails: | |
| build: . | |
| command: | |
| [ "bash", "-c", "rm -f tmp/pids/server.pid; ./bin/rails server -b 0.0.0.0" ] | |
| mem_limit: 384m | |
| environment: | |
| DISABLE_SPRING: "1" | |
| ports: | |
| - "3000:3000" | |
| volumes: | |
| - ".:/usr/src/app" | |
| links: | |
| - "mysql" | |
| mysql: | |
| image: mysql:5.6 | |
| environment: | |
| MYSQL_ROOT_PASSWORD: "passwd" | |
| __EOT__ | |
| sed -i "" -e 's/password:$/password: "passwd"/;s/localhost/mysql/' config/database.yml | |
| sed -i "" -e "s|^end| config.web_console.whitelisted_ips = %w( 0.0.0.0/0 ::/0 )"\\$'\n'"end|" config/environments/development.rb | |
| touch Gemfile.lock | |
| docker-compose build | |
| docker-compose run rails bundle install | |
| docker-compose up -d | |
| sleep 60 | |
| docker-compose run rails ./bin/rake db:create | |
| sleep 10 | |
| docker-compose run rails ./bin/rake db:create RAILS_ENV=test | |
| sleep 10 | |
| docker-compose stop | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment