Docker を学び直し 🔗
Docker は他の人のコピー程度しかいじれなかったということもありますが、4 連休に少しだけ復習と docker-composer まわりを調べていました。ちょうどローカル環境を作り直したいと思っていたのと、今までローカルを汚染しすぎていたので、このタイミングでキレイにしたいという気持ちから。
(参考)たった 1 日で基本が身に付く! Docker/Kubernetes 超入門
環境 🔗
- OS : Linux / ChromeOS
- Distribution : Debian buster
Dockerfile 🔗
もうちょっと改善しないと駄目そうだけど、一通り本を読んでからサイトを参考にしつつこんな感じで。
|
|
.env
ファイルは id
コマンドで調べてこれを詰めています。User が root でファイルが生成されるという事象にも漏れなくハマりました。
|
|
本サイト 2020 年 9 月現在、URL は特にデフォルトのままにしているので分かるかと思いますが、firebase hosting を利用しているため hugo のコンテナと firebase のコンテナイメージを利用し、firebase login 用の 9005 ポートと firebase hosting 用の 5000 ポート、hugo は 1313 ポートを穴あけしました。
depend がないのに compose で2つを一気に作る必要あるの?という感じはあります。
tree 🔗
|
|
現在の課題点 🔗
当たり前のようなことを書きますが、hugo のコンテナは hugo の操作しかできず、firebase は firebase しか操作できないので hugo && firebase deploy
という一気に操作をすることができません。このあたりは色々ドキュメントがありそうだなと思ったので個人で色々試した後だしカンニングしようかと思います。
ちょっと思うのは hugo 自体は go ベースだし compose で build 用だけは別にしてみても良いのかも?と思ったりしながら作っていました。
本(たった 1 日で基本が身に付く! Docker/Kubernetes 超入門) は飛ばし飛ばし… 🔗
この本「たった 1 日で基本が身に付く! Docker/Kubernetes 超入門」は他の本に比べて実践的だし、最初から読み進めていると何度も打ってるコマンドは進むに従って少しずつ省略される具合がちょうどよくてコマンドを覚えていくにもとても良い本でした。
ただ Windows 機でやっていないので最初の方にあった centos を 3 つ立ち上げて ssh を行う部分と CI/CD まわりは Debian 環境だと別ネットワーク作って centos を個別に立てて〜とやっていたのですが、色々ハマりつつ調べながらやっていました。ウェブで検索したサイトだと Docker ファイルで一気に構築するもので本書で順を追って実装するには不向きだったり、ssh の service start で Docker ファイルがコケたり色々あって途中で諦めました。
Virtual Box や Hyper-V を使ったやりかたしか書かれていないかなーと思っていますが、もしかしたらサンプルで配布されている Dockerfile 等を見ればすぐ使えそうなコードがあるかもしれません。このあたりだけで何時間か潰れてしまったので実装せず読み飛ばしてしまったという感じです。
K8s の章もまだ読んでいないので、ここだけは読もうかなと思います。
本書を読んで全体把握してからDocker Hubで hugo だったり firebase のイメージを利用していたのですが、それでもちゃんと理解していない部分も多かったのか結構手間取ってしまいました。落ち着いたタイミングで gitignore ファイルを作って github でブログ記事も管理しようかなと思っています。