Dockerに入門する①〜とりあえず触ってみる〜
はじめに
Dockerの勉強始めました。あとブログも始めました。2020年はQiitaしか書いていなかったけど、これからはブログに書こうと思います。
Dockerとは
Dockerはインフラをコード化するための技術である。
- 開発者間の環境の差異を吸収してくれる
- 環境構築が簡単にできる
などのメリットがある。
イメージとは
オブジェクト指向で言うと、イメージはクラスであり、コンテナがインスタンスである。イメージからコンテナを作ることをビルドすると言う。
イメージはDocker Hubでダウンロードもできるし自作することもできる。
イメージはクラスと似ているので継承することができる。
基本的なコマンド
docker run
docker run
はdocker pull
(イメージの取得)、docker create
(コンテナの作成)、docker start
(コンテナの起動)の三つのコマンドをまとめたものである。
docker images
docker images
でローカル上にダウンロード済みのイメージ一覧を表示できる。
docker tag
docker tag ローカルにあるイメージ名 任意のイメージ名
で新しい名前をつけてイメージを複製できる。任意のイメージ名:タグ名
とすることでタグ名をつけることもできる。タグ名とは主にバージョンを表すものである。
latestタグに注意
latestはデフォルトのタグ名であり、最新版という意味ではない。
docker inspect
docker inspect イメージ名orイメージID
でイメージの詳細情報を表示することができる。
docker rmi
docker rmi イメージ名orイメージID
でローカルのイメージを削除することができる。-f
が強制削除オプションである。
docker build
docker build -t 任意の名前 .(ビルドコンテキスト)
でDockerfileからイメージをビルドできる。-t タグ名
でイメージに名前をつけることができる。
ビルドコンテキストとは
ビルドコンテキストとはイメージを作成するする際にアクセスできるディレクトリやファイルの範囲のこと。今回の.
はカーレントディレクトリを指す。ビルドコンテキストがカーレントディレクトリなので、カーレントディレクトリのDockerfileが参照される。
キャッシュされることに注意
Dockerfileの内容に追記してもう一度docker build
を実行した場合、追記された部分以外はキャッシュが使われ、新たに実行されることはない。
DockerfileにRUN apt-get update
のように毎回実行したい命令があるときは--no-chache
オプションを使うと良い。
docker ps
docker ps
でコンテナの稼働状況を確認できる。-a
オプションを付与すると停止したコンテナも表示される。
docker start
docker start (コンテナID or NAME)
でコンテナを起動できる。
docker stop
docker stop (コンテナID or NAME)
でコンテナを停止できる。
おわりに
長くなりそうなので、複数に分けて書こうと思う。まだ全然よく分からない😅 頑張ります🐳🐳🐳