Dockerfile與docker-compose設置環境變量

方式一:在Dockerfile中設置環境變量

ENV <KEY> <VALUE>
  • 1.必須寫死.不靈活
  • 2.只能在構建鏡像的時候設置的環境變量

方式二:在docker-compose.yml中設置環境變量

environment:
  MYSQL_DATABASE: "my_database"
  MYSQL_PASSWORD: "mysql"
  • 1.這裏的環境變量爲啓動容器時,傳入容器的環境變量
  • 2.此時鏡像已經構建完成

方式三:結合Dockerfile、docker-compose.yml和.env設置環境變量

Dockerfile:
	ARG MYSQL_DATABASE
docker-compose.yml:
	services:
	  db:
	    build:
	      context: mysql
	      args:
	        MYSQL_DATABASE: ${MYSQL_DATABASE}
.env:
	MYSQL_DATABASE=mydatabase
  • 1.必須使用docker-compose build db 才能自動去.env中尋找同名環境變量
  • 2.docker-compose.ym和.env和l必須在同一目錄下,不然waring:找不到環境變量
  • 3.如果build標籤和images標籤同時存在,則去build目錄下尋找Dockerfile構建鏡像,容器名字爲image後面的名字.
  • 4.如果只有images標籤,則在當前系統中尋找鏡像,如果找不到,則自動pull

如果你和我有共同愛好,我們可以加個好友一起交流!
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章