0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

docker で遊ぼう

Last updated at Posted at 2023-12-13

この記事は 一分で読める小ネタのカレンダー | 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 のおすすめとか(あくまで初心者向けに)
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?