LoginSignup
1
1

More than 3 years have passed since last update.

コロナウイルスから学ぶdocker-compose

Last updated at Posted at 2020-03-17

はじめに

最早今更感ありますが、新型コロナウイルス対策サイトが話題ですね
オープンソースコミュニティへの貢献の方法については既に非常に丁寧な記事が出ているので割愛しますが、
docker-composeの紹介をしている人が少ないので書いてみます

勿論ボランティアで何か貢献できれば何よりですが、
このプロジェクトはコミットしないとしてもdocker-composeやvue.jsに触れてみるのにかなりお勧めです
正直お国が主導のプロジェクトがどんな地獄なのか見学するつもりで覗いてみたのでびっくりした

docker-compose使ってみよう

新型コロナウイルス対策サイトのgitリポジトリ
ソースコードをクローンしたら、出来上がったディレクトリ上で

docker-compose up

と打つだけで環境構築からサーバーの起動まで終わり、
スクリーンショット (126).png

ブラウザでlocalhost:3000にアクセスすると動くようになります、すごーい
スクリーンショット (127).png

以上、みんなも試しにやってみてね

解説

当然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で管理しているコンテナを全部終了する
1
1
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
1
1