概要
Dockerについての一問一答です。随時更新していきます。
Dockerfileとは?
DockerfileはDocker Imageを自動でつくるためのTEXTファイルである。
Imageとは?Containerとは?
An image is a filesystem and parameters to use at runtime. It doesn’t have state and never changes. A container is a running instance of an image.
DockerHubとは
DockerHubとは、DockerImageが格納されているサイトである。
Dockerのbuildとrunの違いは?
buildはImageを作成する。runはImageからContainerを起動する。
Containerを一括削除するワンライナーは?
docker ps -a | awk '{print $1}' | xargs docker rm
起動中のContainerに入る方法
docker exec -it [containerのタグ] bash
Docker buildのキャッシュ有効無効はどのように判定される?
正しいことは保証しないが、「Dockerfileを書く時の注意とかコツとかハックとか」では以下のように判定すると書かれている。
- ある一行でキャッシュが使われなかったらそれ以降のすべての行でキャッシュは使われない
- 何もしないコマンドを追加してもキャッシュは無効になる
- コマンドと引数の間に意味のないスペースの入れてもキャッシュは無効となる
- Dockerfileの行に意味のないスペースを入れてもキャッシュは有効
- 冪等ではない命令でもキャッシュは効いてしまう
- ADD以降にある命令はキャッシュされない (ただし、0.7.3以前のバージョンを使っている場合のみ)