ローカルPCで Docker 上にWebサーバーをサクッと立ち上げるための手順。
環境
- MacOS
- Docker
$ docker --version
Docker version 20.10.2, build 2291f61
ファイル構成は下記の参照。
.
├── Dockerfile
├── css
│ └── styles.css
├── index.html
└── js
└── script.js
Dockerイメージの準備
FROM centos:centos7
RUN yum update -y
RUN yum install -y httpd
EXPOSE 80
CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]
CentOSベースのイメージを使います。
その他に httpd などの必要なパッケージをインストールします。
イメージをビルドする
下記コマンドでイメージをビルドします。
docker build -t http/server .
イメージができているか確認します。
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
http/server latest 7f1f497bd193 5 days ago 539MB
Dockerコンテナを起動
下記のコマンドで Docker コンテナを起動します。
docker run -it -p 8080:80 --rm --mount type=bind,src=`pwd`,dst=/var/www/html -d http/server
次に Docker コンテナが立ち上がっていることを確認します。
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1b5a24c31a7f http/server "/usr/sbin/httpd -D …" 17 minutes ago Up 16 minutes 0.0.0.0:8080->80/tcp lucid_colden
localhost:8080
にアクセスし、index.html のコンテンツが表示されるか確認します。
うまく表示がされていれば成功です!!
ホスト側のファイルをDockerにマウントしているため、Dockerにアクセスすることなくファイルの編集が即時反映される点がこの実装における最大のメリットです!