5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

DockerコンテナからWebサイトを公開する方法

Last updated at Posted at 2021-04-28

ApacheのHTTPサーバのDockerコンテナからWebサイトを公開する方法を紹介する。
サーバ一台で複数のWebサイトを走らせたり、一時的にWebサイトを公開するのによさそう。

環境

  • Ubuntu 20.04.2 LTS
  • Docker 20.10.5

Dockerのインストールは、公式Docsを参考にするべし。

手順

1. 前準備

まず、公開したいhtmlファイルを設置する。

> cd /var
> mkdir www
> sudo chown $USER www
> cd www
> mkdir html
> sudo chown $USER html

# 最後に公開したいhtmlファイルを設置した

2. Dockerコンテナの起動

httpdはApacheのDockerイメージ。コンテナの名前はmywebとする。

> docker run -d -p 80:80 --name myweb -v /var/www/html:/usr/local/apache2/htdocs httpd

3. 更新

htmlファイルを更新する。

> docker restart myweb

4. Dockerコンテナの停止

Dockerコンテナを停止。

> docker stop myweb

docker stop mywebを実行した後、再びDockerコンテナを再稼働させるとき

> docker start myweb

docker stop mywebを実行した後、再びDockerコンテナを削除させるとき

> docker rm myweb

補足

Dockerfileからコンテナを起動

FROM httpdは最低限必要。Dokerfileは/var/www/html/に設置する。

FROM httpd

RUN set -ex && \
    apt update && \
    apt install -y vim && \
    apt install -y nano && \
    apt install -y less && \
    apt install -y tree && \
    cp /usr/share/zoneinfo/Japan /etc/localtime

DockerfileからDockerイメージimg_mywebを建てる。

> docker build -t img_myweb /var/www/html/

Dokerイメージimg_mywebからDokerコンテナmywebを起動する。

> docker run -d -p 80:80 --name myweb -v /var/www/html:/usr/local/apache2/htdocs img_myweb
5
3
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
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?