我在做與Rails的一些工作,在我的數據庫配置,我有以下變量:什麼時候Docker變量可用?
host: <%= ENV['MYSQL_PORT_3306_TCP_ADDR'] %>
Rails的不斷失敗,因爲它說,這是試圖通過一個套接字,這表明我的連接價值是空的(這就是Rails如何倒退)。
但是,每次通過docker exec
登錄到容器時,環境變量都已正確設置。
後來我改變了它用於調試目的以下幾點:
host: 172.17.0.15 # <%= ENV['MYSQL_PORT_3306_TCP_ADDR'] %>
它工作得很好(這是此前報道的值)。
所以我的問題是,在docker run
期間的碼頭環境變量集?我在這裏做錯了什麼?我想我會很高興將nginx作爲我的Dockerfile中的最後一條命令,但如果環境變量仍未設置,它不會覺得這樣可以解決任何問題。
更新
我使用Dockerfile從這個網頁 - https://rossfairbanks.com/2015/03/06/rails-app-on-docker-using-passenger-image.html
更新2 泊塢窗運行:運行搬運工--rm --name nginx的-p 80:80 - 鏈接MySQL的:MySQL的myNginxImage
容器首次啓動時,該容器的'入口點'將設置所有環境變量。如果你能顯示你的Dockerfile,以及啓動的進程沒有得到環境變量,這將會有所幫助。 (如果存在鏈接,則從入口點到流程失敗的所有程序/腳本)。 – Greg
我應該在入口點閱讀更多內容 - 添加了Dockerfile源代碼。 – aronchick
我應該問過,我希望看到docker run命令也是這樣的:-) – Greg