こんにちは!
今回は前の記事(DockerComposeでGoのGinとMySqlの環境を作ってみた-第1弾)の続きとして、第2弾を書いていこうと思います。
DockerComposeでビルドする
ではまず、第1弾で作成したディレクトリ配下に、ターミナルを使用して入りましょう!
入った後は下記のコマンドを入力します。
これでdocker-compose.yamlファイルから、dockerファイルの情報を読むことができ、Docker Hubからイメージを取りに行き、ローカルにgoとmysqlのイメージを用意してくれます。
docker-compose build
これが成功すれば、イメージの用意が出来たという事です!
DockerComposeでコンテナを立ち上げる
次は、コンテナを立ち上げましょう。
下記コマンドを叩いてください。
これを実行すると、docker buildで取得したイメージからコンテナの構築をしてくれます。
docker-compose up
では、下記を実行してコンテナを起動します
docker-compose start
起動すると、下記のように出てくるので、「done」と書いていれば立ち上げ成功です。
Starting mysql ... done
Starting api ... done
Goのサーバーを立ち上げる
コンテナを立ち上げた状態で、他のターミナルを開き、下記のコマンドをたたきましょう。
下記のコマンドは、dokcerで建てたコンテナの中に入り、go run コマンドでmain.goを起動しています。
docker exec -it api go run main.go
起動できたら、下記のようにcurlで指定してあげたコマンドを叩いてあげると、jsonが返ってきます!
curl http://localhost:3000/ping
{"message":"pong"}
まとめ
DockerComposeを使うと、ファイルを作成するのは少し面倒ですが、開発環境の起動まではこんなに簡単にできます。
私も、軽く何か作りたいと思った時は、githubにテンプレとして置いているこのコードを改良して毎回使用しています。
是非、実施した事がない方はチャレンジしてみてください!
コメント