はじめに
サーバに複数のwebサーバを立ち上げてみたかったので、dockerでやってみました。
前提
- dockerとdocker-composeをインストール済み
- osはcentos
- サーバはsakuravpsのサービスを利用(サーバの各portがデフォルトでは制限されていることがあるので、その場合は、vpsの管理画面でフィルタ等の設定で変更してください。)
コンテナを立ち上げる前の準備
80と81のポートを解放する。
docker-compose.yml
以下のymlファイルを異なるフォルダに格納し、同階層にindex.htmlをそれぞれ格納します。
docker-compose.yml
version: "3"
services:
web:
image: httpd
volumes:
- .:/usr/local/apache2/htdocs
ports:
- "80:80"
docker-compose.yml
version: "3"
services:
web2:
image: httpd
volumes:
- .:/usr/local/apache2/htdocs
ports:
- "81:80"
あとは、docker-compose.ymlのディレクトリでdocker-compose up -d
です。
最後に
なかなか繋がらないのでdockerの設定ばかり気にしてましたが、vps側の設定で80番ポートへのアクセスが制限されていました。
これでwebサービスを複数運用する際にportを分けることができます。