書籍「Dockerによるアプリケーション開発環境構築ガイド
Dockerを勉強するために購入した書籍「Dockerによるアプリケーション開発環境構築ガイド(櫻井洋一郎、村崎大輔[著] ISBN978-4-8339-6458-0)」に掲載されていた演習をやった。
Chapter4のところで少し手間取った箇所があったので、メモしておく。
(1) P199 バケットのアクセス設定
P234の手順で、写真をアップロードしても保存できずにエラーになってしまう。原因はS3のパブリックアクセス設定。
P199のAWS S3の設定画面では本機能は追加されていないが、現在(2019/2)は「パブリックアクセス設定」というのが加わっている。とりあえず以下のチェックを”外して”うまく動くようになった。(どちらか一方でもOKかは未検討)
-「新規のパブリック ACL と、パブリックオブジェクトのアップロードをブロックする 」
-「パブリック ACL を通じて付与されたパブリックアクセスを削除する」
(2) P249 MySQL
a) 4-2-1-2に記載のコマンドを入力してもmysqlに接続できない。
接続権限がない状態でMySQLが稼働している模様で、sampleDbもまだないので、以下を実施してアクセス権限をつけた。
i) mySQLが動いているコンテナにdocker exec -it で入る
ii) コンテナの中で mysqlのクライアントを起動し、以下を投入
- create database sampleDb ;
- GRANT ALL PRIVILEGES ON . TO sampleUser@"%" IDENTIFIED BY 'パスワード' WITH GRANT OPTION;
(3) minio関連
a) 起動時にSyntax Error
docker-compose upで上げた時に、「strict mode以外では云々でエラー」というメッセージとともに処理が停止してしまい、コンテナがうまく起動できない。
Dockerfileで指定しているimageがminio/minio:RELEASE.2017-08-05T00-00-53Z であるものの稼働環境の適合性が悪い模様。Dockerfileでのimageをminio/minio:RELEASE.2019-02-14T00-21-45Zにしたら解消した。
b) ストレージが足りなくてminioが起動しない
AWSのt2.micro環境でDiskを8GBで稼働させていたためらしい。EBSを拡張したら解消した。自分は100GBに拡張したけど、それ以下でもいいかもしれません。
残課題
P273-275は設定してもうまく動かなかった(画像がブラウザで表示されない)けど、Dockerを学ぶという意味ではとりあえず保留w
最後に
なかなかの良書と思います。掲載されている手順に関しては完成度にまだ改善の余地ありですが、完成度よりも鮮度も大事な世の中なので感謝しています。