33
34

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Docker勉強チャート

Last updated at Posted at 2023-07-27

Dockerを学びたい!

でも何から学んだらいいんだろう?

そんな時期が私にもありましたので、勉強チャートを書いておきます

image.png

1.環境を構築

まずはLinuxのコマンドに馴れておこう!

DockerではLinuxのコマンドを扱うことが多い。

そのため、Dockerのコンテナ操作を一通りできるようにするためにはLinuxcのコマンドである程度ファイル操作やディレクトリ操作をマスターしておこう。

Dockerをインストール

Linuxの操作に馴れているならばDockerをインストールしてあげよう。

2.Dockerって?

なぜ仮想環境ではなくDockerを使うのか再確認

Dockerの環境を用意できた、しかしこれって何に使うの?

そのためにまずはDockerとは何かを知っておくこと(仮想マシンとは何が違うのか、明確なメリット等)

コンテナ型を使うメリット

仮想環境では様々な技術が使われているが、コンテナを使う意味を改めて知っておくこと。


Docker完全に理解したならば次のステップに移行しよう

3.コマンドに馴れよう

Dockerについて理解ができてきたら、実際にDocker触ってみよう

いきなりDockerで好きな環境を作るのはハードルが高いので、まずは公開されているイメージからコンテナを立ててみること!

今あるイメージやコンテナを扱う感覚に馴れてきたら次に自分でイメージを作ってみよう

Dockerイメージの操作

sarchコマンドを使ってイメージを取得してみる

まずは完成されているコンテナイメージから、実際のコンテナを作ってみること

公式サイトのコンテナ(Docker hub)からイメージ検索(docker container sarch)を使ってコンテナを検索してあげよう

pullコマンドでイメージを取得する

探しているコンテナがあればイメージ取得(docker container pull)を使って取得しよう

imageコマンドで所持しているイメージを確認してあげること

イメージを取得できたならば、イメージリスト(docker container image)を利用し、イメージリストを確認したり、削除できるようにする

実際にコンテナを作ってあげられるようにする

runコマンドを使って生成と起動を同時に行う

Docker runを使えばイメージからコンテナの生成と起動ができる。が、生成と起動にはちゃんと使い分けがあるので知っておくこと。

また、それに付随するオプションについても知っておくこと

execコマンドを使ってコンテナ内で作業する

データベースなどを含めてコンテナ内でコマンドを実行できるようにする

この時にオプションが増えてくるためしっかり手に馴染ませておくこと

stopコマンドでコンテナを停止させる感覚を身に着ける

不要になったコンテナは停止させて無駄なプロセスを省いていこう

rmコマンドで不要になったコンテナ削除するようにしよう

コンテナは停止しただけでは残り続ける。

なので、不要なコンテナは削除するということを覚えておこう

4.Dockerfileを使ってイメージの作成

自分でイメージを作成するためにはDockerfileを記入する必要がある。

なので好きなアプリケーション、サーバーを立てるためにはDockerfileを必ず書く必要があるため絶対に覚えておこう!

レイヤーとは

コンテナを作っていくうえで欠かせない知識はレイヤーを積み重ねていくという感覚。

必ず、コンテナレイヤーというものを知っておこう

Docker規約

Dockerにも規約は存在する。

規約違反にならないよう、ルールを知っておこう

Docker networkとは

Dockerでコンテナを扱う上で意識しなければならないことにコンテナ間の通信が含まれる。

コンテナがどうやって動いているかを知るために絶対にnetworkの仕組みについて知っておこう

bridge

none

host

Docker Volumeとは

コンテナを生成と削除を行っているとどうしても、データのやり取りが無駄

Docker Volume機能を使えばコンテナ外のストレージが利用可能となる

bind mount

volume

tmpfs mount

Dockerfileを作ってみよう

Dockerfileを書く上での知識は十分あるはずなので、ここからは多機能なコンテナを作ってみよう。

各レイヤーに記述してコンテナをカスタマイズ

Dockerfileに記述することで様々なカスタマイズが可能となる。

書き方を理解しておこう。

Dockerのお掃除

pruneコマンドを利用することでDockerのお掃除が可能となる。

キャッシュ削除について知ること。

5.複数のコンテナを扱うということ

自分でコンテナを立てられるようになったら複数のコンテナ扱ったアプリケーション制作にチャレンジしてみること

Dockerでは1コンテナ1機能という決まりがあるため、データベースなどを取り扱う場合は確実に複数のコンテナを立てる必要がある。

複数のコンテナを立てる際にdocker-composeが使われていることが多いため、併せて学んでおくこと。

Docker Composeとは

Docker Composeを使えば複数のコンテナ操作も楽に行える。

ほとんどのコンテナで使われているため、しっかりマスターしておくこと。

docker-compose.ymlの記述の仕方

docker-composeはコマンドでビルドできる

6.拡張機能を使って便利に開発

Dockerについて勉強してきたら、GUIを使ったDockerの取り扱いやコンテナを立ててみよう

Docker Desktop

GUIを使ったコンテナ操作ができる。

めちゃくちゃ簡単に導入できるから知っておこう

※ただし、利用規約によってはライセンス料が発生するため注意!

.devcontainer

VSCodeの拡張機能にはDockerを楽に操作できるものがある。

使ってみて、自分にあった操作方法を学んでみよう

まとめ

Dockerは環境構築のため、プログラミングとは違った混乱が多々あります

しっかりと学んでいきたい

33
34
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
33
34

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?