ディレクトリ構造
app
├── Dockerfile
└── html
└── index.php
Dockerfile
EXPOSE をしないとYou don't have permission to access / on this server.
のエラーによりサイトにアクセスできません。
FROM php:7.2.7-apache
EXPOSE 80
index.php
index.php
<form method="POST" action="index.php">
<label for="name">名前:</label>
<input type="text" name="name" size="15" />
<input type="submit" name="submit" value="送信" />
</form>
<?php
if ($_REQUEST['submit'] !== null) {
print('こんにちは、'. htmlspecialchars($_POST['name'], ENT_QUOTES | ENT_HTML5, 'UTF-8').'さん!');
}
?>
1. ビルド
appディレクトリ上
docker build ./ -t php_apache_image:ver001
2. 実行
appディレクトリ上
docker run -d -p 80:80 -v {htmlディレクトリまでのabsolute path}:/var/www/html --name php_apache_container php_apache_image:ver001
例
docker run -d -p 80:80 -v /Users/cassin/MyProjects/app/html:/var/www/html --name php_apache_container php_apache_image:ver001
3. サイトにアクセス
参考
Dockerの開発環境構築 (Mac + Docker + PHP + Apache)
山田祥寛 改訂版JavaScript本格入門