お久しぶりです。せいゆーです。
以前、docker-composeを使ったPHP開発(docker-composeで簡単PHP開発)を書きましたが、今回はそれの続きです。ちなみにもうこれ動きません・・・
今回は以前のもの+sslを導入しようと思います。
gitリポジトリ
今回使うリポジトリはこちらdocker-php-dev
前回のものとさほど変わらないです
Let’s Encryptによるsslに対応しました。
docker-compose.yml
version: '3.5'
services:
https-portal:
image: steveltn/https-portal:1
ports:
- '80:80'
- '443:443'
links:
- web
environment:
STAGE: 'local'
DOMAINS: 'test.localhost -> http://web:8080'
# FORCE_RENEW: 'true'
# web用コンテナ
web:
image: seiyu/php7.3port8080:latest
container_name: seiyu_web_server
ports:
- '127.0.0.1:8080:8080'
volumes:
- ./app:/var/www/html
- ./log:/var/log/apache2
- ./web/apache.conf:/etc/apache2/sites-available/apache.conf
networks:
default:
ipv4_address: 172.16.0.4
environment:
TZ: Asia/Tokyo
db:
image: seiyu/db5.7:latest
container_name: seiyu_db_server
ports:
- "127.0.0.1:3306:3306"
volumes:
# 初期データを投入するSQLが格納されているdir
- ./db/mysql_init:/docker-entrypoint-initdb.d
# 永続化するときにマウントするdir
- ./db/mysql_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_USER: tech
MYSQL_PASSWORD: tech
TZ: Asia/Tokyo
networks:
default:
ipv4_address: 172.16.0.5
networks:
default:
name: app_net
driver: bridge
ipam:
driver: default
config:
- subnet: 172.16.0.0/24
https-portalがhttps化を行うリバースプロキシになっています。
そのためhttps-portalが80,443番ポートを使い
webの部分は8080ポートを使用しています。
今回重要なのは
DOMAINS: 'test.localhost -> http://web:8080'
の部分のみです。
これはtest.localhostでアクセスがあった場合、http://web:8080(web用コンテナ)を実行するようになっています。
開発時の複数ドメイン対応
開発時に複数ドメインに対応したい場合は以下の設定を行ってください
DOMAINS: 'test.localhost -> http://web:8080, test2.localhost -> http://web:8080'
それぞれtest.localhostとtest2.localhostをwebコンテナの8080番ポートへ振り分けてくれます。
両方ともweb:8080なのはwebコンテナ側のapache.confが適宜判別してくれます。
もちろんapache.confの修正もする必要があります。
<VirtualHost *:8080>
ServerName test2.localhost
ServerAdmin 〇〇@〇〇.com
ServerAlias test2.localhost
DocumentRoot "/var/www/html/test2/public"
ErrorLog /var/log/apache2/test2_error.log
CustomLog /var/log/apache2/test2_access.log common
</VirtualHost>
apacheやDBの設定についてはここでは触れないので、各自調べてください。
git clone https://github.com/seiyu-nico/docker-php-dev.git directory
cd directory
docker-compose up
とりあえずgitクローンしてディレクトリ移動してdocker-compose upで実行してみてください。
今回利用したリポジトリ一覧
独り言・・・
- イメージのサイズがでかいのどうにかしたい・・・
コメント