EC2 ✕ Docker 및 docker-compose를 사용한 수동 배포 자산 컴파일
14277 단어 RailsEC2docker-compose도커AWS
소개
마지막 기사
EC2에서 Docker 환경 구축(ArgumentError: Missing 'secret_key_base', Mysql2::Error::ConnectionError: Access denied for user 'root'@'172.18.0.4'
에서 EC2에서 Docker 도입에 대해 설명했습니다.
이번에는 그 다음으로 EC2에서 Docker와 docker-compose를 이용한 EC2상에서 Docker 컨테이너 시작과 Rails 앱을 수동 배포하고 서버를 시작하는 방법과 오류 해결 등을 설명합니다.
전제
① 개발 환경에서 Docker 및 docker-compose를 도입하고 있는 것
② EC2의 초기 설정(환경 설정)에서 Docker와 docker-compose를 설치하고 있는 것
개발 환경
Ruby 2.6.5
번들러 2.1.4
Rails 6.0.0
MySQL 5.6.50
AWS EC2
EC2에서 Rails 앱 시작
마지막으로 EC2에서 Docker에 DB를 만들 수 있기 때문에 나중에 시작하고 배포하기 만하면됩니다.
다만, 여기의 기동으로 자신은 상당히 손잡이 8시간 정도 기동할 수 없고 괴로웠습니다(웃음)
# unicorn은 필수입니까?
자신의 경우 EC2의 배포에서는 unicorn
가 필수라고 생각하고 있었고, Docker와 unicorn에서 서버를 시작할 수 있는 기사도 살펴보았으므로, 그걸로 갈 수 있다고 생각했습니다.
단지, 거기서 늪에 빠졌습니다.
보통 DB가 생겼기 때문에 터미널에서 다음을 실행.
터미널(EC2)[ec2-user@ip-XXX-XX-XX-XXX リポジトリ名]$ bundle exec unicorn_rails -c config/unicorn.rb -E production -D
이 명령으로 서버를 시작했습니다.
그러면 다음과 같은 오류가 발생했습니다.
터미널(EC2)ArgumentError: directory for
pid=/var/www/app/tmp/pids/unicorn.pid not writable
처음은 권한의 문제일까라고 생각하거나, app/tmp/pid
의 디렉토리가 없는 것이라고 생각 이하 기사를 참고로 시행착오했습니다.
아래의 기사를 참고로 작업했습니다.
① Unicorn 오류(unicorn.pid not writable (ArgumentError))
② 【Capistrano,Unicorn】ArgumentError: directory for pid=/var/www/myapp/current/shared/tmp/pids/unicorn.pid not writable가 쓰기 권한의 문제가 아니었다
③ unicorn.pid not writable (ArgumentError)로 Unicorn을 시작할 수 없습니다.
하지만, 아무것도 잘 가지 않고 내보내기 ...
그렇다면 그 밖에 원인은...이라고 생각하고 있으면, "원래 컨테이너 기동하기 때문에, 일부러 unicorn로 서버 기동하지 않아도 되는 것은?"라고 생각해, 컨테이너를 기동.
터미널(EC2)# コンテナ作成
[ec2-user@ip-XXX-XX-XX-XXX リポジトリ名]$ docker-compose build
# コンテナ内にDB作成
[ec2-user@ip-XXX-XX-XX-XXX リポジトリ名]$ docker-compose run web rails db:create RAILS_ENV=production
# コンテナ内でマイグレーションの実行
[ec2-user@ip-XXX-XX-XX-XXX リポジトリ名]$ docker-compose run web rails db:migrate RAILS_ENV=production
# コンテナを起動
[ec2-user@ip-XXX-XX-XX-XXX リポジトリ名]$ docker-compose up -d
# -dオプションを付けることでバックグラウンドで起動できる
[ec2-user@ip-XXX-XX-XX-XXX リポジトリ名]$ docker ps -a
# statusがupになっているか確認
이제 배포가 아니라 ...와 http://Elastic IP:3000/
에 액세스하면 database_development
가 없다고 화가났습니다.
database_development 만들기
자신의 경우는 특수한 것인지는 모릅니다만, RAILS_ENV=production
로 프로덕션 환경의 DB를 작성했기 때문에 OK라고 생각했고, 개발 환경의 물건도 들어가면 에러가 나왔으므로, 이하를 입력했습니다.
터미널(EC2)[ec2-user@ip-XXX-XX-XX-XXX リポジトリ名]$ docker-compose run web rails db:create
[ec2-user@ip-XXX-XX-XX-XXX リポジトリ名]$ docker-compose run web rails db:migrate
편집자도 설명을 조금 바꿨습니다.
docker-compose.yml (변경 전)version: '3'
services:
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: 'password'
ports:
- "4306:3306" #DockerコンテナとSequelpro接続の為に必要な設定
web:
build: .
command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
# volumes の部分を変更
volumes:
- .:/アプリ名
ports:
- "3000:3000"
depends_on:
- db
docker-compose.yml (변경 후)version: '3'
services:
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: 'password'
ports:
- "4306:3306" #DockerコンテナとSequelpro接続の為に必要な設定
web:
build: .
command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
# volumes をアプリ名から変更
volumes:
- ./mysql:/var/lib/mysql
ports:
- "3000:3000"
depends_on:
- db
이제 저장, 업데이트 및 브라우저를 보면 이번에는 또 다른 오류가 발생했습니다.
Webpacker::Manifest::MissingEntryError
「오, 에러가 바뀌었다!」라고 생각해, 해결에 임하지만, 이것이 꽤 어려웠다.
어떤 에러인가 하면 "브라우저가 JavaScript 등을 로드하지 않는다"라는 에러입니다.
그 때문에, 무엇을 하는가 하면(자), 브라우저가 읽어들일 수 있도록(듯이) 하면 자산 컴파일을 실시하면 됩니다만, 약간의 확인등이 필요해,,, 거기에 빠졌습니다.
rails s
등으로 나온 경우는 아래의 기사를 참고해 보세요.
이 기사에서는 Webpacker 주변의 오류 해결 방법을 소개합니다.
[Rails6]Webpacker::Manifest::MissingEntryError의 대처법 4선
그래서 자산 컴파일을 실행합니다.
Docker 컨테이너에서 자산 컴파일 실행
터미널(EC2)[ec2-user@ip-XXX-XX-XX-XXX リポジトリ名]$ docker-compose run web rails assets:precompile RAILS_ENV=production
컨테이너 내에서도 자산을 컴파일하고 컨테이너를 시작합니다.
터미널(EC2)[ec2-user@ip-XXX-XX-XX-XXX リポジトリ名]$ docker-compose up
http://Elastic IP:3000/에 액세스 할 수 있으면
성공입니다.
참고문헌
Docker + Rails5.2 + Unicorn + Nginx + capistrano로 자동 배포
Rails6 개발시 어지러운 webpacker, yarn 관련 오류 및 해결 방법
【Rails6】Webpacker::Manifest::MissingEntryError가 나왔을 때의 대처법
Reference
이 문제에 관하여(EC2 ✕ Docker 및 docker-compose를 사용한 수동 배포 자산 컴파일), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/curry__30/items/ef618030a0aa538e28e0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
① 개발 환경에서 Docker 및 docker-compose를 도입하고 있는 것
② EC2의 초기 설정(환경 설정)에서 Docker와 docker-compose를 설치하고 있는 것
개발 환경
Ruby 2.6.5
번들러 2.1.4
Rails 6.0.0
MySQL 5.6.50
AWS EC2
EC2에서 Rails 앱 시작
마지막으로 EC2에서 Docker에 DB를 만들 수 있기 때문에 나중에 시작하고 배포하기 만하면됩니다.
다만, 여기의 기동으로 자신은 상당히 손잡이 8시간 정도 기동할 수 없고 괴로웠습니다(웃음)
# unicorn은 필수입니까?
자신의 경우 EC2의 배포에서는 unicorn
가 필수라고 생각하고 있었고, Docker와 unicorn에서 서버를 시작할 수 있는 기사도 살펴보았으므로, 그걸로 갈 수 있다고 생각했습니다.
단지, 거기서 늪에 빠졌습니다.
보통 DB가 생겼기 때문에 터미널에서 다음을 실행.
터미널(EC2)[ec2-user@ip-XXX-XX-XX-XXX リポジトリ名]$ bundle exec unicorn_rails -c config/unicorn.rb -E production -D
이 명령으로 서버를 시작했습니다.
그러면 다음과 같은 오류가 발생했습니다.
터미널(EC2)ArgumentError: directory for
pid=/var/www/app/tmp/pids/unicorn.pid not writable
처음은 권한의 문제일까라고 생각하거나, app/tmp/pid
의 디렉토리가 없는 것이라고 생각 이하 기사를 참고로 시행착오했습니다.
아래의 기사를 참고로 작업했습니다.
① Unicorn 오류(unicorn.pid not writable (ArgumentError))
② 【Capistrano,Unicorn】ArgumentError: directory for pid=/var/www/myapp/current/shared/tmp/pids/unicorn.pid not writable가 쓰기 권한의 문제가 아니었다
③ unicorn.pid not writable (ArgumentError)로 Unicorn을 시작할 수 없습니다.
하지만, 아무것도 잘 가지 않고 내보내기 ...
그렇다면 그 밖에 원인은...이라고 생각하고 있으면, "원래 컨테이너 기동하기 때문에, 일부러 unicorn로 서버 기동하지 않아도 되는 것은?"라고 생각해, 컨테이너를 기동.
터미널(EC2)# コンテナ作成
[ec2-user@ip-XXX-XX-XX-XXX リポジトリ名]$ docker-compose build
# コンテナ内にDB作成
[ec2-user@ip-XXX-XX-XX-XXX リポジトリ名]$ docker-compose run web rails db:create RAILS_ENV=production
# コンテナ内でマイグレーションの実行
[ec2-user@ip-XXX-XX-XX-XXX リポジトリ名]$ docker-compose run web rails db:migrate RAILS_ENV=production
# コンテナを起動
[ec2-user@ip-XXX-XX-XX-XXX リポジトリ名]$ docker-compose up -d
# -dオプションを付けることでバックグラウンドで起動できる
[ec2-user@ip-XXX-XX-XX-XXX リポジトリ名]$ docker ps -a
# statusがupになっているか確認
이제 배포가 아니라 ...와 http://Elastic IP:3000/
에 액세스하면 database_development
가 없다고 화가났습니다.
database_development 만들기
자신의 경우는 특수한 것인지는 모릅니다만, RAILS_ENV=production
로 프로덕션 환경의 DB를 작성했기 때문에 OK라고 생각했고, 개발 환경의 물건도 들어가면 에러가 나왔으므로, 이하를 입력했습니다.
터미널(EC2)[ec2-user@ip-XXX-XX-XX-XXX リポジトリ名]$ docker-compose run web rails db:create
[ec2-user@ip-XXX-XX-XX-XXX リポジトリ名]$ docker-compose run web rails db:migrate
편집자도 설명을 조금 바꿨습니다.
docker-compose.yml (변경 전)version: '3'
services:
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: 'password'
ports:
- "4306:3306" #DockerコンテナとSequelpro接続の為に必要な設定
web:
build: .
command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
# volumes の部分を変更
volumes:
- .:/アプリ名
ports:
- "3000:3000"
depends_on:
- db
docker-compose.yml (변경 후)version: '3'
services:
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: 'password'
ports:
- "4306:3306" #DockerコンテナとSequelpro接続の為に必要な設定
web:
build: .
command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
# volumes をアプリ名から変更
volumes:
- ./mysql:/var/lib/mysql
ports:
- "3000:3000"
depends_on:
- db
이제 저장, 업데이트 및 브라우저를 보면 이번에는 또 다른 오류가 발생했습니다.
Webpacker::Manifest::MissingEntryError
「오, 에러가 바뀌었다!」라고 생각해, 해결에 임하지만, 이것이 꽤 어려웠다.
어떤 에러인가 하면 "브라우저가 JavaScript 등을 로드하지 않는다"라는 에러입니다.
그 때문에, 무엇을 하는가 하면(자), 브라우저가 읽어들일 수 있도록(듯이) 하면 자산 컴파일을 실시하면 됩니다만, 약간의 확인등이 필요해,,, 거기에 빠졌습니다.
rails s
등으로 나온 경우는 아래의 기사를 참고해 보세요.
이 기사에서는 Webpacker 주변의 오류 해결 방법을 소개합니다.
[Rails6]Webpacker::Manifest::MissingEntryError의 대처법 4선
그래서 자산 컴파일을 실행합니다.
Docker 컨테이너에서 자산 컴파일 실행
터미널(EC2)[ec2-user@ip-XXX-XX-XX-XXX リポジトリ名]$ docker-compose run web rails assets:precompile RAILS_ENV=production
컨테이너 내에서도 자산을 컴파일하고 컨테이너를 시작합니다.
터미널(EC2)[ec2-user@ip-XXX-XX-XX-XXX リポジトリ名]$ docker-compose up
http://Elastic IP:3000/에 액세스 할 수 있으면
성공입니다.
참고문헌
Docker + Rails5.2 + Unicorn + Nginx + capistrano로 자동 배포
Rails6 개발시 어지러운 webpacker, yarn 관련 오류 및 해결 방법
【Rails6】Webpacker::Manifest::MissingEntryError가 나왔을 때의 대처법
Reference
이 문제에 관하여(EC2 ✕ Docker 및 docker-compose를 사용한 수동 배포 자산 컴파일), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/curry__30/items/ef618030a0aa538e28e0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
마지막으로 EC2에서 Docker에 DB를 만들 수 있기 때문에 나중에 시작하고 배포하기 만하면됩니다.
다만, 여기의 기동으로 자신은 상당히 손잡이 8시간 정도 기동할 수 없고 괴로웠습니다(웃음)
# unicorn은 필수입니까?
자신의 경우 EC2의 배포에서는
unicorn
가 필수라고 생각하고 있었고, Docker와 unicorn에서 서버를 시작할 수 있는 기사도 살펴보았으므로, 그걸로 갈 수 있다고 생각했습니다.단지, 거기서 늪에 빠졌습니다.
보통 DB가 생겼기 때문에 터미널에서 다음을 실행.
터미널(EC2)
[ec2-user@ip-XXX-XX-XX-XXX リポジトリ名]$ bundle exec unicorn_rails -c config/unicorn.rb -E production -D
이 명령으로 서버를 시작했습니다.
그러면 다음과 같은 오류가 발생했습니다.
터미널(EC2)
ArgumentError: directory for
pid=/var/www/app/tmp/pids/unicorn.pid not writable
처음은 권한의 문제일까라고 생각하거나,
app/tmp/pid
의 디렉토리가 없는 것이라고 생각 이하 기사를 참고로 시행착오했습니다.아래의 기사를 참고로 작업했습니다.
① Unicorn 오류(unicorn.pid not writable (ArgumentError))
② 【Capistrano,Unicorn】ArgumentError: directory for pid=/var/www/myapp/current/shared/tmp/pids/unicorn.pid not writable가 쓰기 권한의 문제가 아니었다
③ unicorn.pid not writable (ArgumentError)로 Unicorn을 시작할 수 없습니다.
하지만, 아무것도 잘 가지 않고 내보내기 ...
그렇다면 그 밖에 원인은...이라고 생각하고 있으면, "원래 컨테이너 기동하기 때문에, 일부러 unicorn로 서버 기동하지 않아도 되는 것은?"라고 생각해, 컨테이너를 기동.
터미널(EC2)
# コンテナ作成
[ec2-user@ip-XXX-XX-XX-XXX リポジトリ名]$ docker-compose build
# コンテナ内にDB作成
[ec2-user@ip-XXX-XX-XX-XXX リポジトリ名]$ docker-compose run web rails db:create RAILS_ENV=production
# コンテナ内でマイグレーションの実行
[ec2-user@ip-XXX-XX-XX-XXX リポジトリ名]$ docker-compose run web rails db:migrate RAILS_ENV=production
# コンテナを起動
[ec2-user@ip-XXX-XX-XX-XXX リポジトリ名]$ docker-compose up -d
# -dオプションを付けることでバックグラウンドで起動できる
[ec2-user@ip-XXX-XX-XX-XXX リポジトリ名]$ docker ps -a
# statusがupになっているか確認
이제 배포가 아니라 ...와
http://Elastic IP:3000/
에 액세스하면 database_development
가 없다고 화가났습니다.database_development 만들기
자신의 경우는 특수한 것인지는 모릅니다만, RAILS_ENV=production
로 프로덕션 환경의 DB를 작성했기 때문에 OK라고 생각했고, 개발 환경의 물건도 들어가면 에러가 나왔으므로, 이하를 입력했습니다.
터미널(EC2)[ec2-user@ip-XXX-XX-XX-XXX リポジトリ名]$ docker-compose run web rails db:create
[ec2-user@ip-XXX-XX-XX-XXX リポジトリ名]$ docker-compose run web rails db:migrate
편집자도 설명을 조금 바꿨습니다.
docker-compose.yml (변경 전)version: '3'
services:
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: 'password'
ports:
- "4306:3306" #DockerコンテナとSequelpro接続の為に必要な設定
web:
build: .
command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
# volumes の部分を変更
volumes:
- .:/アプリ名
ports:
- "3000:3000"
depends_on:
- db
docker-compose.yml (변경 후)version: '3'
services:
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: 'password'
ports:
- "4306:3306" #DockerコンテナとSequelpro接続の為に必要な設定
web:
build: .
command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
# volumes をアプリ名から変更
volumes:
- ./mysql:/var/lib/mysql
ports:
- "3000:3000"
depends_on:
- db
이제 저장, 업데이트 및 브라우저를 보면 이번에는 또 다른 오류가 발생했습니다.
Webpacker::Manifest::MissingEntryError
「오, 에러가 바뀌었다!」라고 생각해, 해결에 임하지만, 이것이 꽤 어려웠다.
어떤 에러인가 하면 "브라우저가 JavaScript 등을 로드하지 않는다"라는 에러입니다.
그 때문에, 무엇을 하는가 하면(자), 브라우저가 읽어들일 수 있도록(듯이) 하면 자산 컴파일을 실시하면 됩니다만, 약간의 확인등이 필요해,,, 거기에 빠졌습니다.
rails s
등으로 나온 경우는 아래의 기사를 참고해 보세요.
이 기사에서는 Webpacker 주변의 오류 해결 방법을 소개합니다.
[Rails6]Webpacker::Manifest::MissingEntryError의 대처법 4선
그래서 자산 컴파일을 실행합니다.
Docker 컨테이너에서 자산 컴파일 실행
터미널(EC2)[ec2-user@ip-XXX-XX-XX-XXX リポジトリ名]$ docker-compose run web rails assets:precompile RAILS_ENV=production
컨테이너 내에서도 자산을 컴파일하고 컨테이너를 시작합니다.
터미널(EC2)[ec2-user@ip-XXX-XX-XX-XXX リポジトリ名]$ docker-compose up
http://Elastic IP:3000/에 액세스 할 수 있으면
성공입니다.
참고문헌
Docker + Rails5.2 + Unicorn + Nginx + capistrano로 자동 배포
Rails6 개발시 어지러운 webpacker, yarn 관련 오류 및 해결 방법
【Rails6】Webpacker::Manifest::MissingEntryError가 나왔을 때의 대처법
Reference
이 문제에 관하여(EC2 ✕ Docker 및 docker-compose를 사용한 수동 배포 자산 컴파일), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/curry__30/items/ef618030a0aa538e28e0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
[ec2-user@ip-XXX-XX-XX-XXX リポジトリ名]$ docker-compose run web rails db:create
[ec2-user@ip-XXX-XX-XX-XXX リポジトリ名]$ docker-compose run web rails db:migrate
version: '3'
services:
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: 'password'
ports:
- "4306:3306" #DockerコンテナとSequelpro接続の為に必要な設定
web:
build: .
command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
# volumes の部分を変更
volumes:
- .:/アプリ名
ports:
- "3000:3000"
depends_on:
- db
version: '3'
services:
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: 'password'
ports:
- "4306:3306" #DockerコンテナとSequelpro接続の為に必要な設定
web:
build: .
command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'"
# volumes をアプリ名から変更
volumes:
- ./mysql:/var/lib/mysql
ports:
- "3000:3000"
depends_on:
- db
「오, 에러가 바뀌었다!」라고 생각해, 해결에 임하지만, 이것이 꽤 어려웠다.
어떤 에러인가 하면 "브라우저가 JavaScript 등을 로드하지 않는다"라는 에러입니다.
그 때문에, 무엇을 하는가 하면(자), 브라우저가 읽어들일 수 있도록(듯이) 하면 자산 컴파일을 실시하면 됩니다만, 약간의 확인등이 필요해,,, 거기에 빠졌습니다.
rails s
등으로 나온 경우는 아래의 기사를 참고해 보세요.이 기사에서는 Webpacker 주변의 오류 해결 방법을 소개합니다.
[Rails6]Webpacker::Manifest::MissingEntryError의 대처법 4선
그래서 자산 컴파일을 실행합니다.
Docker 컨테이너에서 자산 컴파일 실행
터미널(EC2)
[ec2-user@ip-XXX-XX-XX-XXX リポジトリ名]$ docker-compose run web rails assets:precompile RAILS_ENV=production
컨테이너 내에서도 자산을 컴파일하고 컨테이너를 시작합니다.
터미널(EC2)
[ec2-user@ip-XXX-XX-XX-XXX リポジトリ名]$ docker-compose up
http://Elastic IP:3000/에 액세스 할 수 있으면
성공입니다.
참고문헌
Docker + Rails5.2 + Unicorn + Nginx + capistrano로 자동 배포
Rails6 개발시 어지러운 webpacker, yarn 관련 오류 및 해결 방법
【Rails6】Webpacker::Manifest::MissingEntryError가 나왔을 때의 대처법
Reference
이 문제에 관하여(EC2 ✕ Docker 및 docker-compose를 사용한 수동 배포 자산 컴파일), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/curry__30/items/ef618030a0aa538e28e0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(EC2 ✕ Docker 및 docker-compose를 사용한 수동 배포 자산 컴파일), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/curry__30/items/ef618030a0aa538e28e0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)