🐳

新人エンジニアがDockerを勉強するのに使った資料まとめ

2024/01/26に公開

対象の読者 🧑‍💻👩‍💻

・業務でDockerを使っているが、いまいち仕組みが分からない人
・docker exec -it のコマンドの意味が分からない人
・コンテナ技術が分からない人
・Dockerとは何かを根本から理解したい人

この記事から得られること ✅

・Dockerの仕組み理解に役立つドキュメントを手早に知ることができる

はじめに 🤝

新卒未経験で入社して、9ヶ月が経ちました。現在はSaaS企業でWebアプリを開発しており、インフラでDockerを使っています。

毎回dockerに入るのにdocker exec -itをコピペしている自分が嫌になったので色々調べていたら、「Dockerってどういう風に動いてるんだ?」と好奇心に駆られてしまったので、理解に使った資料を残しておこうと思います。

この記事を読むことで、自分と似た境遇の方があちこち調べる手間を省けたら幸いです!

記事一覧 📄

仮想化・コンテナ技術 📦

1.『Linuxコンテナとは何か - コンテナ技術の仕組みと歴史』

Dockerで用いられているコンテナ技術や歴史について説明した記事です。
コンテナと仮想化の違いを示した図が特に分かりやすかったです。

https://www.redhat.com/ja/topics/containers/whats-a-linux-container

2.『Understanding containers』

コンテナ技術とそのメリットが学べます。
勉強を進めていくと学ぶ「DockerはLinux上でしか動かない」ことを深く理解するのに、
記事で書かれている「Container vs Docker (Traditional Linux containerとDockerの違い)」が役立ちました。

https://www.redhat.com/ja/topics/containers

https://www.redhat.com/ja/topics/containers/what-is-docker

Dockerについて 🐳

1.『Docker概要』

docker.docs が和訳されているドキュメントです。
Dockerとは何なのか、Dockerの構成要素(アーキテクチャ)が学べます。
アーキテクチャの図解が特に分かりやすいです。

https://docs.docker.jp/get-started/overview.html

2.『Docker Engineとは何か』

Docker公式ドキュメントに載っている図を用いて、理解に必要な箇所をピンポイントで押さえてくれている記事です。

https://zenn.dev/ryoatsuta/articles/64dcc2e2b4e0cf

3.『コンテナについて』

コンテナを作成してアプリを動かす時の基礎となる知識が得られます。
Docker社がGitHub上でアプリを公開してくれているので、手元にオリジナルアプリがなくても学べます。

https://docs.docker.jp/get-started/01_overview.html

4.ボリュームについて

③でコンテナチュートリアルを学ぶと、アプリをDockerで起動・停止する度にデータが消えることを学びます。データが消えないようにするにはどうしたらいいのか、それの理解に役立ったのが以下の記事です。

https://matsuand.github.io/docs.docker.jp.onthefly/storage/volumes/

https://zenn.dev/fdnsy/articles/e2024d73ec2bda

https://qiita.com/aki_55p/items/63c47214cab7bcb027e0

最後に

他にも、
・Docker Desktop
・Docker Image
・Docker Hub
などのドキュメントは沢山あるのですが、これらと同じドキュメント内に記載があるので今回は割愛します。

まだまだ自分自身も勉強中なので、他に役立つ記事を見つけたら追記していく予定です🙆‍♂️

Discussion