새 Rails 애플리케이션 Dockerize
Ruby on Rails 앱을 Docker에 배포하는 것은 Ruby gem을 배포하고 컨테이너화하는 데 유용합니다. 이는 특히 로컬 시스템에 서로 다른 버전의 Ruby와 Rails가 있는 많은 프로젝트가 있는 경우에 유용합니다. 둘째, 비호환성 및 예상치 못한 문제에 대한 걱정 없이 애플리케이션을 배포하는 것이 쉬워집니다.
다음 가이드는 이미지를 빌드하고 Docker 컨테이너에 배포하기 위해 Rails에서 새 프로젝트를 설정하는 데 도움이 됩니다.
시작하려면 최소한 5개의 파일이 필요합니다.
도커파일
Dockerfile의 경우 Rails를 실행할 nodejs를 설치할 Ruby 이미지를 빌드해야 합니다. 파일은 Gemfile 및 Gemfile.lock을 가져와서 WORKDIR에 복사합니다. 그런 다음 번들 설치 명령이 이미지 내에서 실행되어 Gemfile에 나열된 gem을 설치합니다.
젬파일
Gemfile은 처음에 Rails gem만 포함합니다.
source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git"
gem 'rails', '~> 5.2.4', '>= 5.2.4.2'
Gemfile.lock
Gemfile.lock은 빈 파일이 됩니다. 하나 만드세요.
docker-compose.yml
<스크립트 아이디="gist-ltag"src="https://gist.github.com/vshl/a746af9cc386246efd42c6b065b14e9a.js"/>
docker-compose는 디버거, 실행할 서버 명령 및 로컬 시스템과 도커 이미지 간의 볼륨 공유를 설정하고 노출할 포트를 설정하는 기본 파일입니다.
.dockerignore
.git/
.gitignore
log/*
tmp/*
db/*.sqlite3
db/*.sqlite3-journal
파일이 준비되면 다음은 이미지를 빌드하고 이미지에 새 Rails 애플리케이션을 설정하는 것입니다. 터미널 실행:
docker-compose up -d
명령은 docker-compose.yml 파일을 통해 실행되고 이미지를 빌드합니다. 완료되면 Rails gem이 설치된 이미지가 생성됩니다. 다음은 새로운 Ruby on Rails 애플리케이션을 만드는 것입니다. 생성된 이미지를 사용하여 컨테이너에서 명령을 실행합니다.
docker-compose run web rails new . -GMOPCSJT --force --no-deps
인수 -GMOPCSJT
-G git
에 대한 추가 상용구 파일 및 디렉토리 생성을 건너뛰어야 하는 경우 선택 사항입니다. , -M action-mailer
, -O active-record
, -P puma
, -C action-cable
, -S sprockets
, -J javascript
, -T test-cases
. 프로젝트에 필요한 인수를 자유롭게 추가하십시오.
이 명령은 WORKDIR
도커 이미지의. 완료되면 다음 명령을 실행하여 Docker 이미지를 다시 빌드하는 것이 적합합니다.
docker-compose up -d --build
완료되면 포트 3000에서 서버가 실행됩니다. http://localhost:3000
바로 그것입니다!
복제하고 바로 시작할 수 있도록 git repo를 만들었습니다.
git clone [email protected]:vshl/rails-docker-skel.git
우수 사례를 따를 수 있는 더 나은 방법을 찾는 대로 해당 리포지토리와 이 블로그 게시물을 계속 업데이트하겠습니다.
Reference
이 문제에 관하여(새 Rails 애플리케이션 Dockerize), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/vshl/dockerize-a-new-rails-application-17m0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)