LoginSignup
0
0

More than 1 year has passed since last update.

Docker イメージとコンテナ

Last updated at Posted at 2021-06-16

UdemyでDockerを勉強し、いちチャプターで学んだことをまとめてみました。
自分用の備忘録として書いたので分かりにくいと思います。

Dockerとは

開発環境や実行環境をチームで同じものを使うために使うアプリ。
例えばAさんとBさんがチームを組んでアプリを作っている場合、AさんとBさんの開発環境は全く同じである必要があり、更にテスト環境、本番環境も同じである必要がある。
環境を全て同じにするのは難しいがDockerがそれを簡単にしてくれるみたいです。
コンテナという技術を使って、コンテナの中で環境構築をしたり、コードを実行したり開発をしたりする。
AさんとBさんが同じコンテナを使っていれば同じ環境で開発をしていることになる。

docker image

docker imageとは簡単に
・コンテナを立ち上げるための基となるもの
・コンテナに必要なファイル群のまとまり
・親レイヤーの上に子レイヤーが1つづつ重なってできている

docker image をホスト(自分のPC)にpullする

$docker pull <image名>

ホストの中にあるimageを確認

$docker images

imageを削除

$docker rmi <imageのID>

コンテナ

imageからコンテナを作成

(例) ubuntuイメージからコンテナを作成しbashを実行する

bashとはKernelに命令をするために使うshellの一つ
docker runはホストにimageが無ければDockerHubからpullしてくれる

$docker run -it ubuntu bash

名前を指定してrun

docker run --name <つけたい名前> bash

全てのコンテナを確認

$docker ps -a

コンテナから出る

$exit プロセスを消す(statuがexited)

detach(ctrl+p+q) プロセスを残す(statusがupのまま)

再度コンテナに入る

再起動する

docker restart <コンテナ名>

コンテナを指定してbashを実行するかたちで再度コンテナに入る

$docker exec -it <コンテナ名> bash

コンテナからimageを作成

imageをpullしてコンテナを作成して、そのコンテナの中で環境構築などをする。
そのコンテナを他メンバーに共有するために、コンテナからimageを作成してDockerHubにimageをpushする。
pushされたコンテナを他メンバーが使うことによって、同じ環境で開発できることになる。

$docker commit <コンテナ名><image名>:タグ名

コンテナ削除

statusがUpの場合はstopでExitedにする必要がある

$docker stop <コンテナid>

コンテナ削除

$docker rm <コンテナid>

Exitedになっているコンテナを全て削除する

$docker system prune
0
0
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
0