動作確認などのために、NginxをDockerコンテナ上でサクッと起動したいことがあるので、メモを残しておきます。
ディレクトリ構成
MyApp ┣ src ┃ ┣ default.conf ┃ ┗ index.html ┗ Dockerfile
ファイルを作成
default.conf
なくてもいいんですが、設定を変更した上で動確したい場合などもあるかもしれないのと、基礎的な扱いを学ぶという意味で、設定ファイルを作成します。作成しなかった場合は、デフォルトの設定だけが読み込まれます。
ここでは内容までは解説しませんので、勉強したい方は「nginx 設定ファイル」「nginx conf」といったキーワードでググってみてください。割と奥が深く、知っておくとWebアプリの開発に役立つかもしれません。
server { listen 80; root /usr/share/nginx/html; location / { try_files $uri $uri/ /index.html; } }
index.html
こちらもデフォルトのHTMLでよい場合もあると思いますが、作成しときます。中身は何でも構いません。
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>nginx test</title> </head> <body> <h1>Hello, Nginx!</h1> </body> </html>
Dockerfile
FROM rockylinux:9 RUN dnf -y update RUN dnf -y install \ nginx \ emacs \ sudo RUN systemctl enable nginx COPY ./src/default.conf /etc/nginx/conf.d/default.conf COPY ./src/index.html /usr/share/nginx/html/index.html CMD ["/sbin/init"]
Dockerコマンドを実行
# ビルド $ cd /to/path/MyApp $ docker build -t nginx . # コンテナ起動 $ docker run -itd --rm --privileged -p 80:80 --name nginx nginx:latest
ブラウザで確認
おわりに
Dockerを使うと簡単に環境を作って壊せるからいいですね。
何度もコンテナを立ち上げては壊して色々試してみましょう。