方式一:在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
如果你和我有共同愛好,我們可以加個好友一起交流!