dockerの✍
.gitconfigみたいに⌘のalias作れなさそうだったので、
代わりにここにメモ
Lifecycle
Docker
$ docker version
$ docker info
$ docker login
Dockerfile -> Image
$ docker build --no-cache
$ docker build -t REPOSITORY[:tag] .
Image <-> Registry
$ docker push REPOSITORY[:tag]
$ docker pull REPOSITORY[:tag]
$ docker search KEYWORDS
Images
$ docker images -a
$ docker rmi IMAGE
$ docker history IMAGE
$ docker inspect IMAGE
Images -> Containers
sh
$ docker run [OPTIONS] REPOSITORY[:TAG] CMD # run=create+start
$ docker run -i -t -d -p 80:80 REPOSITORY[:TAG] CMD
Containers
$ docker ps -a
$ docker create IMAGE
$ docker start CONTAINER
$ docker stop CONTAINER
$ docker kill CONTAINER
$ docker rm [CONTAINER...]
$ docker diff CONTAINER
$ docker top CONTAINER
$ docker events CONTAINER
$ docker logs CONTAINER
Host -> Containers
$ docker attach CONTAINER
$ docker exec CONTAINER CMD
$ docker exec -it CONTAINER CMD
$ export TERM=xterm
Backup Image(Host File<->Image)
$ docker save IMAGE > FILE
$ docker load < FILE
Backup Container(Host File<->Container)
$ docker commit -m "msg" CONTAINER REPOSITORY[:TAG]
$ docker tag IMAGE REPOSITORY[:tag]
$ docker export CONTAINER > FILE
$ docker import FILE
Backup Container File(Host File<->Container File)
$ docker cp CONTAINER:FILE ./
docker-machine
$ docker-machine create --driver virtualbox default
$ docker-machine env default
$ docker-machine regenerate-certs default # 認証書の再作成
$ docker-machine rm default
$ docker-machine start default
$ docker-machine ls
$ docker-machine ssh
$ docker-machine ip
$ eval $(docker-machine env default) # docker-machineとdockerの連携
Data Volume
$ docker volume create --name HOGE
$ docker volume ls
$ docker run -v /<containerVolumepath> # containerに新しいvolumeを作成
$ docker run -v /<hostDirectorypath>:/<containerVolumepath> # hostのdirectoryをcontainerのvolumesにマウント$ docker run -v /<hostDirectorypath>:/<containerVolumepath>:ro # リードオンリーでマウント
$ docker inspect CONTAINER # Mounts項目で確認
Data Volume Container
$ docker run --volumes-from CONTAINER REPOSITORY[:TAG] CMD # 他のcontainerにCONTAINERをマウント
References
http://qiita.com/curseoff/items/a9e64ad01d673abb6866
https://github.com/tcnksm/docker-alias
https://docs.docker.com/engine/installation/linux/ubuntulinux/
https://docs.docker.com/engine/reference/commandline/
https://docs.docker.com/engine/tutorials/dockervolumes/
http://qiita.com/sokutou-metsu/items/b83b275198fc9594f5a4
http://docs.docker.jp/engine/userguide/dockervolumes.html