はじめに
最早今更感ありますが、新型コロナウイルス対策サイトが話題ですね
オープンソースコミュニティへの貢献の方法については既に非常に丁寧な記事が出ているので割愛しますが、
docker-composeの紹介をしている人が少ないので書いてみます
勿論ボランティアで何か貢献できれば何よりですが、
このプロジェクトはコミットしないとしてもdocker-composeやvue.jsに触れてみるのにかなりお勧めです
正直お国が主導のプロジェクトがどんな地獄なのか見学するつもりで覗いてみたのでびっくりした
docker-compose使ってみよう
新型コロナウイルス対策サイトのgitリポジトリ
ソースコードをクローンしたら、出来上がったディレクトリ上で
docker-compose up
ブラウザでlocalhost:3000にアクセスすると動くようになります、すごーい
以上、みんなも試しにやってみてね
解説
当然docker及びdocker-composeはインストールする必要がありますが...
コマンドいくつか叩けばインストールできるので割愛
docker-composeで動くことを確認するためにどこを見るのか
プロジェクトのルートディレクトリにDockerfileが
FROM node:10.19-alpine
WORKDIR /app
COPY package.json yarn.lock ./
RUN yarn install
COPY . .
EXPOSE 3000
ENV HOST 0.0.0.0
CMD ["yarn", "dev"]
そしてdocker-compose.ymlがあります
version: "3"
services:
app:
container_name: covid19
build:
context: .
dockerfile: Dockerfile
tty: true
ports:
- 3000:3000
volumes:
- .:/app
- node_modules:/app/node_modules
volumes:
node_modules: {}
docker-compose.ymlがあるからには環境構築がdocker-composeで行えるはずです。
内容によってはこれらの中身を見ればどのようなフレームワークなのかもおおよそ推測できるでしょう
全てを解説すると長くなるし、そもそも完璧に説明できるほど熟知しているかというと微妙ですが
このファイルを見ればdocker-compose.ymlの記述に従って、
covid19
という命名のappコンテナが立ち上がり、
localhostの3000番ポートでアクセスできるようになる、
という動きをまずは雰囲気で感じることができれば良いと思います
終わりに
遊んでみたくなるdocker-composeコマンドを紹介
docker-compose up 通常の起動、終了する時はctrl + c
docker-compose up -d => dオプションでデーモン化、バックグラウンド起動できる
docker-compose exec app bash => 起動中のコンテナの中に入ることができる
docker-compose down => docker-composeで管理しているコンテナを全部終了する