この記事は 一分で読める小ネタのカレンダー | Advent Calendar 2023 - Qiita の14日目
docker
- 猫も杓子も k8s な時代なので docker を使えるようにしておくのは大事
- インストールは各自環境に合わせて
- やり始めると奥が深いので、初心者のうちは動作するものをコピーしてきて動かせれば十分
- 最初から凝ったものを書こうとしないで、既存のイメージを使って動かせればいいし、気に入ったら深掘りすればいい
- どのみち会社に入って使うようになったら、職場での使い方は教えてもらえる
- それに備えてコマンドや用語を勉強しておくといい
本文はここまで。以下は時間外w
hello world
-
docker -v
してインストールができているのを確認したら -
docker run hello-world
して - 他のコマンドでひとしきり遊ぶ
- サブコマンドが昔と今で違う(検索すると情報の新旧がわかる)ので、そういうものだと納得する(ITあるある)
ローカルな web server(軽量なnginxのイメージ)
- 最近のプログラミング言語はランタイム中にローカルサーバな機能を持ってるので最近あんまり出番がないけど
- ローカルでとあるディレクトリをドキュメントルートにして nginx が走ると便利なことがある
alias alpinx='docker container run -itd --rm -v `pwd`:/usr/share/nginx/html -p 8081:80 -e "TZ=Asia/Tokyo" --name alpinx nginx:alpine'
- こんな感じの alias を作っておく
- どこか適当なディレクトリに index.html という名前のテキストファイルを作成して、適当に中身を書いて、そのディレクトリで
alpinx
って叩くと、ブラウザでhttp://localhost:8081/
を表示するといける(はず) - 最近は手でゼロから書くようなことはめったにない(と思いたい)けど、それでも HTML, CSS, JavaScript を自分で書いてみて、画面(ブラウザ)に表示させる、index.html を手で編集して変更が反映される、をやってあるのとないのとではだいぶ違う
- 先にも書いたけど、近年の開発でこれを仕事で使うことはないし、もっと便利でスマートなやり方がちゃんとある。その時に、本質的にはこういうことだってことを知っていて欲しい
いろいろ動かす
- DB の起動とか他にたくさんいい記事があるので、いろいろ動かして遊んで欲しい
- 大きいイメージは初回起動(DL)に時間がかかるし、ディスク容量もだいぶかかるけど、必要経費と割り切って
- DBMSなら、MySQL(MariaDB)やPostgreSQLなど
- キャッシュなら、Redis, Memcached など
- Web サーバは nginx でいいし
- アプリケーションサーバ(Webサーバの後ろで実際にコンテンツを返してくるところ、くらいの理解でおk)
- AWS をやりたいなら LocalStack は検討してもいい(実際には無料枠があるので本物を使っていいと思うけどね)
- 業界の進歩は早いので、それぞれもっと新しくて見た目もかっこいいものがあるけど、人知れず消えていく、使われない、もしくは自分は使わないで終わるもの、もたくさんあるので、取捨選択する目を養う練習をするのもいいかもしれない
my-examples リポジトリ
- my-til や dotfiles と同じように、docker の学習結果を置いておくリポジトリを作るといい
- パブリックに置くなら examples-docker で、プライベートにするなら my-examples-docker のようにするとわかりやすい
- これからもいろんなツールや言語を学んでいく必要があるはずなので、最初は my-til に置いておいて、少しまとまった量ができて、わけたほうがいいなって思ったら分離する、その状況や判断は人それぞれなので、自分で判断がつけられるようにやってみてほしい
- わかるはわけるって言葉もあるくらいなので、わかったらわけるんだと思う
改善依頼
- ワンライナーで素のイメージ(buildしない)を使ってこういうのあるぜとか
- 動作する docker-compose.yml のおすすめとか(あくまで初心者向けに)