0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【備忘録】DockerでApacheとTomcatのコンテナを作成する

Last updated at Posted at 2025-03-31

はじめに

Dockerを使用してApacheとTomcatのコンテナを作成し,ローカルサーバとして動かすまでにメモしたものです.
内容については後から直していきます.

参考サイトについては各ページのタイトルじゃなくて自分でわかりやすいように変えてます.

環境

M2 Macbook Air

DockerでapacheとTomcatのコンテナを作成

作成するにあたって

参考サイト[1]先である通りに作成していたところ,http.confファイルを各サーバからコピーしてくる旨が書いてある.しかし,サーバが無いのでホストのMacbookにあるhttp.confを使用したところ,エラーでコンテナを作成できない.
そんな時は一度公式のimageを使用してコンテナを立ち上げて,その中にあるhttp.confファイルをコピーすると良い

docker pull httpd:2.4

自分はこれで1週間近くapacheのコンテナを立ち上げることができなかった...

メモ

  • docker loadコマンドが使えない
$cat /etc/group | grep docker

上記のコマンドでユーザにアクセス権限があるかを確認

docker:x:126:username

が表示されたら問題なし
それ以外(usernameの表記なしなど)の場合は

$sudo usermod -aG docker 'username'
$newgrp docker

でユーザをにアクセス権限を追加

  • ログ監視のコマンド
docker events --filter container=httpd_sample

実行停止するまで,dockerコマンドを使用した際のログを表示していく

—filterで対象を指定できる

  • runコマンド
docker run --name httpd_smaple -p 80:80 -dit httpd:sample

参考サイトでは上記のrunコマンドを使用したが,エラーは出ないのにexit code(1)でコンテナが立ち上がった後にすぐ終了してしまう

docker run --name httpd_sample -p 80:80 -dit -p 80:80 httpd:sample bash

と最後に ”bash” を入れる必要がある

  • ApacheとTomcatの連携方法

httpd-proxy.confのlocalhostをIPアドレスに変えるだけでは連携できない
tomcat側のserver.xmlファイルからポートを指定する必要がある

  • Dockerfileからbuildしたhttpd(Apache)コンテナがrunできない
docker run -dit -p 80:80 httpd:2.4

上記のコマンドで実行したら問題なくコンテナをrunできる

  • httpd.conf(httpd-proxy.conf)でProxyPassを設定

ProxyPassを設定するとそのディレクトリを指定するだけでindex.htmlが表示される

ex.)
webapps/
├ sample/
│ ├ index.html
│ └ index.css

└ test/
├ index.html
└ index.css

となっている時,本来は
http://localhsot/sample/index.html” | “http://localshot/test/index.html”
と記入するところを
http://localshot/sample” | “http://localhost/test”
だけでそれぞれのindex.htmlが表示される

/sampleや/testは変更可能

===== 余談 =====

~/.vimrcファイルで

:syntax on

と記載するとデフォルトで使用されているコメントアウトの色を変える機能をオンにできる

===== 疑問 =====

  • ProxyPassとProxyPassReverseの違いは何?
    具体的は挙動も知っておきたい

参考文献

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?