对于我来说,似乎上班。也许这可以帮助你:
├── docker-compose.yaml
├── .env
└── myphp
├── Dockerfile
└── script.php
我.ENV文件
TEST_ENV="HELLO WORLD"
我docker-compose.yaml
:
version: "3"
services:
web:
build: ./myphp
env_file: .env
所以我docker-compose.yaml
将建立图像myphp。该dockerfile看起来是这样的:
FROM php:5.6.30-fpm
COPY script.php /var/script.php
我script.php
<?php
var_dump(getenv('TEST_ENV'));
exit;
比我执行docker-compose up -d --build
。这将构建我的图像,并在其中添加php脚本,它将运行该图像的容器实例。
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
15f0289bfbe8 test_web "docker-php-entryp..." 3 seconds ago Up 1 second 9000/tcp test_web_1
我访问我的容器
$ docker exec -it 15f0289bfbe8 bash
而且我要去的地方,我已经把我的脚本(检查dockerfile)的的/var
文件夹,我exexcuting它也只是+印花env var:
[email protected]:/var/www/html# cd /var/
[email protected]:/var# ls
backups cache lib local lock log mail opt run script.php spool tmp www
[email protected]:/var# php -f script.php
string(13) ""HELLO WORLD""
[email protected]:/var# echo $TEST_ENV
"HELLO WORLD"
[email protected]:/var#