[docker] container基礎

$ sudo docker run -it –name=ping_in_ubuntu ubuntu /bin/bash
# ping localhost
bash: ping: command not found
# apt update
# apt install iputils-ping
# ping localhost
PING localhost (127.0.0.1) 56(84) bytes of data.

インストールした後は削除してコンテナサイズを小さくする
# apt clean
# rm -rf /var/lib/apt/lists/*

### アタッチとデタッチ
アタッチはコンテナを前面で動かし、デタッチはバックグラウンドで動かす
ctl + p, clt + q でデタッチすることができる
$ sudo docker attach 22b3765372ae

### コンテナをイメージ化
$ sudo docker commit 22b3765372ae ping_in_ubuntu
$ sudo docker images;
$ sudo docker tag ping_in_ubuntu:latest ping_in_ubuntu:Ver.1.00

### docker saveとdocker export
docker saveはベースイメージと各レイヤー情報をそのままtarファイルとして保存
docker exportは差分のレイヤー情報は持たずに最終的なコンテナの内部構成をtarファイルにする

LAMP環境を構築してexportしてレイヤーを作るなどはよくある
$ sudo docker save ping_in_ubuntu:latest > ping_save.tar
$ sudo docker export 22b3765372ae > ping_export.tar
$ sudo docker rmi ping_in_ubuntu:latest ping_in_ubuntu:Ver.1.00
$ sudo docker load < ping_save.tar $ sudo docker import ping_export.tar なるほど、やればやるほど周辺知識は付いてくるな