RasberryPi と遊ぼう〜Webサーバー導入〜
Docker上にApache&Tomcatを導入
引数として関数やメソッドを受け渡したいことがありましたので、そのメモ
Docker Composeのインストール
Docker Composeは複数のコンテナを管理するツールとのことです。
sudo apt install docker-compose -y
作業用ディレクトリの作成
今回はルートディレクトリ配下に作成します。
$ cd /
$ sudo mkdir myDocker
cd myDocker
sudo mkdir apache
作業用ディレクトリの作成
docker-compose.yml を作成します。
複数のサービス(コンテナ)の設定を YAML 形式で定義して、docker-compose コマンドで一括起動・停止・管理できるようにするものです。
内容はChatGPTの言いなりです。
sudo nano docker-compose.yml
$ docker-compose.yml の内容
version: "3.8"
services:
tomcat:
image: tomcat:9-jdk17-temurin
container_name: tomcat
ports:
- "8080:8080"
environment:
- TZ=Asia/Tokyo
volumes:
- ./webapps:/usr/local/tomcat/webapps
networks:
- webnet
apache:
image: httpd:2.4
container_name: apache
ports:
- "80:80"
volumes:
- ./apache/httpd.conf:/usr/local/apache2/conf/httpd.conf
depends_on:
- tomcat
networks:
- webnet
networks:
webnet:
driver: bridge
apacheの設定ファイルの作成
apacheの設定ファイルであるhttpd.confを作成します。
$sudo nano httpd.conf
# httpd.confの内容
ServerName localhost
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
Listen 80
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot "/usr/local/apache2/htdocs"
# Tomcat へのリバースプロキシ設定
ProxyPreserveHost On
ProxyPass / http://tomcat:8080/
ProxyPassReverse / http://tomcat:8080/
</VirtualHost>
起動確認
コンテナの起動。
docker-compose up -d
コンテナの起動状況の確認。
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c1e097a74735 tomcat:9-jdk17-temurin "catalina.sh run" 6 seconds ago Up 5 seconds 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp tomcat
モチベが上がらないので今日はここまで。
コメント
コメントを投稿