IP를 구성 파일로 하드 코딩하는 것은 좋지 않습니다. 다른 개발자들은 어떻습니까? IP가 바뀌면 어떻게 되나요?
Docker 관련 구성은 가능할 때마다 rails 앱으로 누출되지 않아야합니다. 따라서 config/environments/development.rb
파일 에서 env vars를 사용해야 합니다.
class Application < Rails::Application
# Check if we use Docker to allow docker ip through web-console
if ENV['DOCKERIZED'] == 'true'
config.web_console.whitelisted_ips = ENV['DOCKER_HOST_IP']
end
end
.env
버전 관리를 추적하지 않고 파일 에 올바른 환경 변수를 설정해야합니다 .
에서 docker-compose.yml
당신이 ENV 주입 할 수있는 것은이 파일에서 바르 env_file
:
app:
build: .
ports:
- "3000:3000"
volumes:
- .:/app
links:
- db
environment:
- DOCKERIZED=true
env_file:
- ".env"
의견에 접수 된 수수료를 기준으로 환경 변수없이 솔루션을 구축 할 수도 있습니다.
class Application < Rails::Application
# Check if we use Docker to allow docker ip through web-console
if File.file?('/.dockerenv') == true
host_ip = `/sbin/ip route|awk '/default/ { print $3 }'`.strip
config.web_console.whitelisted_ips << host_ip
end
end
학습 목적으로 솔루션을 env var로 남겨 두겠습니다.
config/environments/development.rb
, @ydaetskcoR