Dockerを活用したWebサーバ環境です。
ミドルウェア |
バージョン |
Docker |
18.09.2 |
docker-composer |
1.23.2 |
docker-machine |
0.16.1 |
以下の手順で配置したWebアプリケーションを実行することができます。
本アプリケーションは .html, .htm ファイルのアプリケーションに対応しています。
本環境で各アプリの実行環境にアクセスするためには、ローカルのhostsを以下のように設定する必要があります。
IPアドレス |
FQDN |
動作アプリ環境 |
127.0.0.1 |
web.docker.example.com |
HTML |
127.0.0.1 |
php.docker.example.com |
PHP (CodeIgniter3) |
127.0.0.1 |
ruby.docker.example.com |
Ruby |
127.0.0.1 |
python.docker.example.com |
Python |
- /app ディレクトリ配下にWebアプリケーションファイルを配置する。
- docker-compose up --build -d コマンドを実行する。
- https://${fqdn}/${path} にアクセスし、Webアプリケーションを実行
- docker-compose down コマンドで終了する。
$ tree
.
├── README.md
├── app # Webアプリケーションの保存場所
│ ├── php ## PHPアプリ
│ │ └── public
│ │ └── index.php
│ ├── python ## Pythonアプリ
│ │ └── app.py
│ ├── ruby ## Rubyアプリ
│ └── web ## HTMLアプリ
│ └── index.html
├── assets # 資材
│ ├── nginx
│ │ ├── conf.d ## Nginxのコンフィグ
│ │ │ ├── common
│ │ │ │ └── ssl.conf
│ │ │ ├── default.conf
│ │ │ ├── php-app.conf
│ │ │ ├── python-app.conf
│ │ │ ├── ruby-app.conf
│ │ │ └── web-app.conf
│ │ ├── nginx.conf ## Nginxのベースコンフィグ
│ │ └── ssl ## SSL証明書ディレクトリ(※本リポジトリでは自己証明書を利用)
│ │ ├── server.crt
│ │ └── server.key
│ └── php
├── containers # Dockerコンテナ設定
│ ├── nginx
│ │ └── Dockerfile
│ ├── php
│ │ └── Dockerfile
│ ├── python
│ │ └── Dockerfile
│ └── ruby
│ └── Dockerfile
├── docker-compose.yml
└── log # logフォルダ
├── nginx
│ ├── default
│ ├── php
│ ├── python
│ ├── ruby
│ └── web
├── php
│ └── codeigniter
└── ruby
$ docker-compose up --build -d
$ curl https://web.docker.example.com --insecure
Hello world!
$ docker-compose ps
Name Command State Ports
------------------------------------------------------------------------------------------------------
dockernginx_php_1 docker-php-entrypoint php-fpm Up 9000/tcp
ockernginx_python_1 /bin/sh -c source /etc/pro ... Up 0.0.0.0:5000->5000/tcp
dockernginx_ruby_1 /bin/sh -c source /etc/pro ... Up
dockernginx_web_1 nginx -g daemon off; Up 0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp
$ tail -f log/*/*.log
172.19.0.1 - - [23/Jun/2019:18:45:39 +0900] "GET / HTTP/1.1" 200 12 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" "-"
ミドルウェア |
バージョン |
備考 |
Nginx |
latest |
Webサーバ |
ミドルウェア |
バージョン |
備考 |
PHP |
7.X |
PHP |
Composer |
1.8.6 |
PHPのライブラリインストーラ |
ミドルウェア |
バージョン |
備考 |
Ruby |
2.6.3p62 |
rbenvでインストールしたRuby |
rbenv |
1.1.2-2-g4e92322 |
rbenv |
ミドルウェア |
バージョン |
備考 |
Python |
3.7.3 |
pyenvでインストールしたPython |
pyenv |
1.2.12-2-geb68ec9 |
pyenv |