第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

docker-compose.yml環(huán)境變量到php環(huán)境變量

docker-compose.yml環(huán)境變量到php環(huán)境變量

PHP
Smart貓小萌 2023-10-15 16:57:36
嘗試執(zhí)行以下操作: 將環(huán)境值從 .env 文件傳播到 php 文件環(huán)境值。在 .env 文件中設(shè)置 MYSQL 變量。#cat .envMYSQL_ROOT_PASSWORD=RootPasswordMYSQL_USER=gnf_userMYSQL_PASSWORD=UserPasswordMYSQL_DATABASE=gnf_noahMYSQL_HOST=db我希望將其傳播到我的容器中。所以我這樣做:#cat docker-compose.ymlversion: "3.2"services: www:  build: . #Include Dockerfile in current directory  ports:  - "30001:80"  - "30443:443"  expose:  - "80"  - "443"  volumes:  - "var:/var/www/html/var/"  environment:   MYSQL_HOST: ${MYSQL_HOST}   MYSQL_DATABASE: ${MYSQL_DATABASE}   MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}   MYSQL_USER: ${MYSQL_USER}   MYSQL_PASSWORD: ${MYSQL_PASSWORD}  restart: always  networks:  - frontend  - backend  links:  - db:db# shortend for readability ;-)現(xiàn)在,嘗試在我的容器中獲取這些值:$db_host = getenv('MYSQL_HOST', true) ?: getenv('MYSQL_HOST');$db_name = getenv('MYSQL_DATABASE', true) ?: getenv('MYSQL_DATABASE');$db_user = getenv('MYSQL_USER', true) ?: getenv('MYSQL_USER');$db_pwd  = getenv('MYSQL_PASSWORD', true) ?: getenv('MYSQL_PASSWORD');給出空值。我是否在完全錯誤的頁面上..或者我是否需要一個腳本來在構(gòu)建時設(shè)置這些值,例如。在/docker-entrypoint-init.d”或類似的東西?(編輯)使用的文件:drwxr-xr-x  2 root root  4096 Aug 16 18:54 conf-rw-r--r--  1 root root  1406 Aug 17 17:17 docker-compose.yaml-rw-r--r--  1 root root   992 Aug 17 19:31 Dockerfiledrwxr-xr-x  2 root root  4096 Aug 17 14:45 dump-rw-r--r--  1 root root   125 Aug 17 07:06 .env-rw-r--r--  1 root root 55799 Aug  6 20:10 install-php-extensionsdrwxr-xr-x  2 root root  4096 Aug 13 08:36 mysqldrwxrwxr-x 25 root 1005  4096 Aug 18 05:40 www
查看完整描述

2 回答

?
紅糖糍粑

TA貢獻1815條經(jīng)驗 獲得超6個贊

嘗試env_file在撰寫文件中使用來引用您的.env.


這是一個最小的例子:


.

├── docker-compose.yml

├── Dockerfile

├── .env

└── index.php

Dockerfile


FROM php:7.0-apache

COPY ./index.php /var/www/html/

索引.php


<?php

    $db_host = getenv('MYSQL_HOST', true) ?: getenv('MYSQL_HOST');

    $db_name = getenv('MYSQL_DATABASE', true) ?: getenv('MYSQL_DATABASE');

    $db_user = getenv('MYSQL_USER', true) ?: getenv('MYSQL_USER');

    $db_pwd  = getenv('MYSQL_PASSWORD', true) ?: getenv('MYSQL_PASSWORD');


    echo "db_host: {$db_host}<br>";

    echo "db_name: {$db_name}<br>";

    echo "db_user: {$db_user}<br>";

    echo "db_pwd: {$db_pwd}<br>";

?>

docker-compose.yml


version: "3.2"

services:

 www:

  build: . 

  ports:

  - "30001:80"

  - "30443:443"

  env_file:

    - .env

.env


MYSQL_ROOT_PASSWORD=RootPassword

MYSQL_USER=gnf_user

MYSQL_PASSWORD=UserPassword

MYSQL_DATABASE=gnf_noah

組合容器:


docker-compose up -d --build

https://img1.sycdn.imooc.com/652ba9be0001062e04280171.jpg

查看完整回答
反對 回復 2023-10-15
?
泛舟湖上清波郎朗

TA貢獻1818條經(jīng)驗 獲得超3個贊

要直接在容器中創(chuàng)建.env文件的環(huán)境變量,我們使用docker的env_file配置選項

例如

web:
  env_file:
    - .env

這是將環(huán)境變量列表傳遞到容器中的最微妙的方法。


查看完整回答
反對 回復 2023-10-15
  • 2 回答
  • 0 關(guān)注
  • 220 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號