omuronの雑記

個人的な備忘録

「コンテナ若葉マーク」 #wakabamark 受講

今日は「コンテナ若葉マーク」を受講。

tech-lab.connpass.com

ハッシュタグ#wakabamark

世界一わかりみの深いコンテナ&Docker入門

  • コンテナは単なるプロセス
  • HyperVisor + OS が不要で、DockerEngine 上のプロセスで動くから高速
  • プロセスはホストOSのカーネルを共有
# ps ax 
たくさんでる

# unshare --mount-proc -p --fork /bin/bash
# ps ax
とすると、プロセスが同じ名前空間を利用するので全然出てこない

docker はプロセス空間を一緒にする感じで、 namespace に作成ともろもろのコマンドの簡略化を行う。

後半は、k8s の話。
k8s は本番で使わなくても学ぶ価値はある。
「私がk8sで構築したかったから」
プロダクトじゃなくてブログとかなら十分な理由になりますね 。
構築ブログもありました。

tech-lab.sios.jp

怖くないコンテナ・ネットワーク

speakerdeck.com

docker いれると、docker0 172.17.0.1/16 のネットワークが自動で作られる。

  • 以下のコマンドで諸々確認
    • sudo docker network ls
    • sudo docker network inspect bridge
    • sudo docker container inspect Docker名
  • コンテナ内から別コンテナにcurlでアクセスできる

docker 内のネットワークってあんまり意識して作ったことが無い状況。 docker-composeは、ネットワーク定義なくても自動で専用のbridgeネットワークが作られるとのこと。 普段は、docker-compose を使っているからかな。

実運用から考えるコンテナ技術

献血が趣味114回...すごい。丸々5人分ぐらいの血液を献血してるんじゃないだろうか。

コンテナを使って「何を実現するべきなのか」を常に考えて学んでいくべきと。 Dockerファイルを作るのはそれほど難しくないので、その向こう側をイメージする必要がある。 Docker になっても監視は大事。 アウトプット大事。

所感

コンテナっていつぐらいから使いだしてたかなーと、 docker images してみて、ローカルの一番古いイメージは

mysql  5.7.12 2fd136002c22   4 years ago 378MB

でした。 docker rmi もして消してるからもっと昔から試してたかもしれないけど、少なくとも 4年前ぐらいから使っていそう。
開発環境では4年ぐらい前からで、本番環境ではここ2年ぐらいか?

サクッと環境作って試すには、本当に Docker 便利ですね。
本番で使おうとすると、k8s なり ECS なりオートスケールツールが必要でかなり辛いのですが、単独で使うには本当に便利です。