Rails 프로젝트의 Docker를 클론하고 RefineryCMS를 추가하려면
7420 단어 DockerRefineryCMSRails
이 보도에 관하여
사이트 축소판 그림
Rails 프로젝트 Docker 이미지 관련 프로그램
git clone https://github.com/kawasin73/rails_docker_template.git .
git checkout origin/base/ruby-2.5.1-rails-5.2.0
git branch -d master && git checkout -b master
Gemfile
source 'https://rubygems.org'
ruby '2.5.1'
gem 'rails', '5.1.7' # ← 編集後
script/init && script/bootstrap
script/init를 실행할 때, 이러한 오류 메시지가 발생하면, 내 환경에서 Docker를 다시 시작하면 해제됩니다ERROR: for xxxx_db_1 Cannot start service db: b'driver failed programming external connectivity on endpoint xxxx_db_1 (849e14279bfc5461a0a142fb24b7581b72a2bf962abbd0fa09af529ccf1f7f1c): Bind for 0.0.0.0:5432 failed: port is already allocated'
script/bootstrap 실행 시 yarninstall//를 실행하기 위해 로그가 나타났습니다. 다음 동작을 수행합니다
docker-compose run rails yarn install --check-files
필요한 경우에만위 명령을 실행하면 다음 명령을 실행하기 위해 로그에 출력이 있기 때문에 실행합니다
다음은 bash에 로그인한 후 실행된 것입니다
docker-compose run rails bash
curl --compressed -o- -L https://yarnpkg.com/install.sh | bash
docker-compose up
Refinery 환경 제작
기존 Rails 프로젝트에 RefineryCMS 추가
gem 'refinerycms'
gem 'refinerycms-authentication-devise' # 認証機能が必要な場合のみ
gem 'refinerycms-wymeditor' # WYMエディタ 無くてもRefineryCMSは動くっぽい
docker-compose run rails bundle install
실행 후 다음 상태가 지속되어 하룻밤이 지나도 완성하지 못했다bundle install
The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java`.
Fetching gem metadata from https://rubygems.org/..........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies..................................................
control+c로 강제로 종료하고 몇 개의 명령을 실행한 후bundle install을 다시 실행한 후 정상적으로 종료됩니다.
지령 집행을 통해 해결되었는지, 아니면 시간을 거쳐 해결되었는지 원인이 불분명하다.
이때 실행된 명령은 다음과 같다.
docker-compose run rails bash
bash를 시작하거나 실행하지 않습니다.
gem install bundler --pre
gem install 'refinerycms' #追加したgemの個別インストール
gem install 'refinerycms-authentication-devise' #追加したgemの個別インストール
gem install 'refinerycms-wymeditor' #追加したgemの個別インストール
bundle update
xxxxxx because its extensions are not built. Try: gem pristine xxxxxx
다음 명령으로 취소됨gem pristine --all
docker-compose run rails rails generate refinery:cms --fresh-installation
$ docker-compose up
:
PG::ConnectionBad (could not connect to server: Connection refused
rails_1 | Is the server running on host "db" (127.0.0.1) and accepting
rails_1 | TCP/IP connections on port 5432?
rails_1 | could not connect to server: Cannot assign requested address
rails_1 | Is the server running on host "db" (::1) and accepting
rails_1 | TCP/IP connections on port 5432?
오류 정보로 검색, 참조사이트 축소판 그림다음 파일 수정
/etc/hosts
#before
127.0.0.1 localhost
↓
#after
127.0.0.1 localhost db
실행rails db:migrate:reset
후"데이터 directory의 초기화 버전은 호환되지 않는 버전입니다."
이런 로그가 출력됐어요.
자신의 환경 버전에 따라 아래 파일의db 이미지를 수정했습니다
docker-compose.yml
# before
db:
image: "postgres:10.3"
↓
# after
db:
image: "postgres:11.5"
docker-compose run rails rails db:migrate:reset
docker-compose run rails rails db:seed
docker-compose up
방문http://localhost:3000/refinery/후
서명 화면으로 이동
→ 옳게 하다
이 상태에서 원격으로 누르기
원격 창고의 URL을 변경하고 싶습니다
다른 폴더에 들어가면지금까지 개발된 폴더의git/config 덮어쓰기
git add .
git commit -am "xxxxx"
git push
git push
실행 중 다음 오류 발생 ! [rejected] master -> master (fetch first)
error: failed to push some refs to 'https://[email protected]/takanori_yoshioka/lambellweb.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
로컬 창고를 원격 창고에 강제로 저장(로컬 창고의 내용을 원격 창고에 덮어쓰기)
git push -f origin master
끝맺다
다른 글로 추가 방법을 쓰려고 합니다.
↓
여기 써있어요.
https://qiita.com/bonny_d/items/2df7e4c3c246e7290215
Reference
이 문제에 관하여(Rails 프로젝트의 Docker를 클론하고 RefineryCMS를 추가하려면), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/bonny_d/items/2a3e04b68a74b4a2392d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)