Dockerfile の構成、環境変数 HOGE を設定
[mapk0y@kona:~] $ cat Dockerfile
FROM php:7.0-apache
ENV HOGE "hoge"
[mapk0y@kona:~] $ docker build -t envhoge ./
Sending build context to Docker daemon 2.048 kB
Step 1 : FROM php:7.0-apache
---> 3e8f05e5d76c
Step 2 : ENV HOGE "hoge"
---> Running in ee3c8f3b4b2b
---> 43e5fabe9f8a
Removing intermediate container ee3c8f3b4b2b
Successfully built 43e5fabe9f8a
作成したイメージで env コマンドを実行し、$HOGE があることを確認
[mapk0y@kona:~] $ docker run --rm envhoge env
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=2008dce74304
PHPIZE_DEPS=autoconf file g++ gcc libc-dev make pkg-config re2c
PHP_INI_DIR=/usr/local/etc/php
APACHE_CONFDIR=/etc/apache2
APACHE_ENVVARS=/etc/apache2/envvars
PHP_EXTRA_BUILD_DEPS=apache2-dev
PHP_EXTRA_CONFIGURE_ARGS=--with-apxs2
GPG_KEYS=1A4E8B7277C42E53DBA9C7B9BCAA30EA9C0D5763
PHP_VERSION=7.0.12
PHP_URL=https://secure.php.net/get/php-7.0.12.tar.xz/from/this/mirror
PHP_ASC_URL=https://secure.php.net/get/php-7.0.12.tar.xz.asc/from/this/mirror
PHP_SHA256=f3d6c49e1c242e5995dec15e503fde996c327eb86cd7ec45c690e93c971b83ff
PHP_MD5=bdcc4dbdac90c2a39422786653059f70
HOGE=hoge
HOME=/root
$HOGE を表示する php を用意して apache 越しにアクセス
docker オフィシャルの php:7.0-apache は /var/www/html
が DocumentRoot なので現在のディレクトリをそこにマウントしてコンテナに見せる
docker ps
でイメージ名(desperate_austin)を取得
イメージ名から IPAddress を取得しそこにアクセス
[mapk0y@kona:~] $ cat index.php
<?php
echo getenv('HOGE');
[mapk0y@kona:~] $ docker run -d -v ${PWD} :/var/www/html envhoge
ed257771e6cc6b4b6e9506c9224c9873b92214feee18904f8c7e4b2b6de6d549
[mapk0y@kona:~] $ docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ed257771e6cc envhoge "apache2-foreground" 12 seconds ago Up 11 seconds 80/tcp desperate_austin
[mapk0y@kona:~] $ docker inspect -f ' {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' desperate_austin
172.17.0.2
[mapk0y@kona:~] $ curl http://172.17.0.2/index.php
hoge[mapk0y@kona:~] $
# コンテナの掃除
[mapk0y@kona:~] $ docker stop desperate_austin
desperate_austin
[mapk0y@kona:~] $ docker rm desperate_austin
desperate_austin
[mapk0y@kona:~] $ docker run --rm envhoge php -r ' echo getenv("HOGE");'
hoge[mapk0y@kona:~] $