Dockerのメリットというのは誰でも違う場所でも本体の設定などに左右されず、簡単に同じ開発環境を使えるということですよね。
でも就職前は1人でポートフォリオを作るので「開発環境を共有する」という経験がなく、ただのコンテナとして利用していました。
で、いざ前回の記事で紹介したSwaggerを「Dockerで共有できるように」と言われて「あれ?どうすればいいの?」となったので調べました。
前回の記事は以下です。
Swaggerについて調べてみた(Dockerバージョン)
初学者のため、ご指摘等ございましたらご連絡いただけますと幸いです。
方法
結論からいうと
docker-compose.ymlに記載してdocker-compose upする
です。
ちなみに今回私は自分でDockerfileを作成する必要がない(つまり既にimageがあった)のでDockerfileの内容は書きません。
Dockerfileとdocker-compose.ymlの違いについては以下の記事が分かりやすかったです!
ありがとうございます!
Dockerを使うにあたってDockerfileは必要か
Docker Composeとは?使い方やコマンドを紹介
で、どのような内容を書けばいいかというと分かる人は自分で書けばいいのですが...
私は分からないのでGithubで公開されているものを探しました。
というか分かってても作ってくれている人がいれば使わせていただく方がいいですよね。
○○○ docker-compose.ymlみたいな感じでGoogleさんで探せば素晴らしい先人たちが公開してくれているかもしれません...!
今回で言えば
swagger-all-in-one-docker-compose
上記のdocker-compose.ymlが公開されていたのでこちらを使おうかなと思っています。
こちらありがたいことにREADMEを日本語バージョンも作成してくれているんです。
神様かな。
こちらをcloneしてdocker-compose up -dで環境を共有できるということです。
ちなみに今回のgithubではjson形式なのでyamlの方がいいかなということで絶賛編集中です。
今さらDockerの便利さを認識しました。
以上です。
※追伸
swagger-all-in-one-docker-compose
上記をcloneしてdocker-compose up -dしたら下記のエラーが出ました。
ERROR: Network swagger_link declared as external, but could not be found. Please create the network manually using `docker network create swagger_link` and try again.
エラー文通りに
docker network create swagger_link
のコマンドを実行後、再度docker-compose up -dしたらうまく起動できました!