はじめに
本格的にアプリ開発を始める前に、練習として
Dockerを用いてGoコンテナ、MySQLコンテナを作成、
MySQLからデータを取得するAPIを作成しました。
作成の手順、参考にした記事をまとめてます。
使用技術
Go
net/http
Dockerとは
以下の記事を参照
実施したこと
DockerでGoコンテナを作成、Docker
Goコンテナ、MySQLコンテナを同時に作成する前に、
Goコンテナのみ作成しました。
初めてに触れるので、Dockerに慣れるために
DockerでGoコンテナを作成、
Docker上でGoサーバーを起動させました。
参考にした記事は以下の記事です。
https://www.yoheim.net/blog.php?q=20170403
https://zenn.dev/kenny/articles/b9dd668bf09efe
https://qiita.com/kooohei/items/0e788a2ce8c30f9dba53
https://docs.docker.jp/engine/reference/builder.html
調べたこと
〇DockerFileを作成
Dockerfileとは、DockerImageを作成するもの
コマンド
FROM ~
~というイメージをもとにDocker Imageを作成する
~には公式イメージが来ることが多い
ENV
環境変数の設定
環境変数とは、OSが動いているときに使える変数
https://wa3.i-3-i.info/word11027.html
WORKDIR
各種命令を実行する際のカレントディレクトリを指定
バイナリ
https://wa3.i-3-i.info/word14226.html
○Goプロジェクトの作り方
・ディレクトリを作る
・main.goを作る
・go mod(モジュール管理のファイル)を作成
参考記事
https://zenn.dev/ryo_yamaoka/articles/595cf9e69229f9
https://zenn.dev/optimisuke/articles/105feac3f8e726830f8c
エラー解決の参考記事
https://castaneai.hatenablog.com/entry/2019/02/22/151213
Go moduleについて
https://osamu-tech-blog.com/go-go-modules/
DockerでGo Server、MySQLを起動、接続する
mySQLコンテナを作る為に参考にした記事は以下
https://ponsanlabo.com/create-mysqldockerimage-from-dockerfile/
https://pointsandlines.jp/db-sql/mysql/docker-mysql#MySQL
参考にしたAPIの記事は以下
https://dev.classmethod.jp/articles/go-sample-rest-api/
Goについて
http://psychedelicnekopunch.com/archives/560
発生したエラーの解決するために調べた記事は以下
https://qiita.com/wakki_haya/items/a00ecdc231e131b4d18d
https://qiita.com/GalaxyNeko/items/0e365fe13d177c368acf
https://qiita.com/gbf_abe/items/2bf45206c515cea75d9b
https://rurukblog.com/post/docker-compose-file-update/
https://stackoverflow.com/questions/69615253/copy-failed-forbidden-path-outside-the-build-context-docker-compose
https://qiita.com/TKR/items/ac29ee783bc4684d0612
docker内のMySQLに接続する
参考記事
docker内のMySQLに接続したい