Docker cheatsheet

0x0 Install

# Mac
$ brew cask install docker

# Ubuntu
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
## without sudo
$ sudo groupadd docker
$ sudo gpasswd -a $USER docker
$ newgrp docker

0x1 CLI

Basic

# 开机自动启动
$ systemctl enable docker.service

# 创建镜像
$ docker build -t TAG

# 查看所有容器
$ docker ps -a

# 删除容器
$ docker rm -f [CONTAINER_ID]|[CONTAINER_NAME]
$ docker rm -f $(docker ps -a -q)

# 自启动
$ docker update --restart=always [CONTAINER_ID]

# 查看容器IP
$ sudo docker inspect --format '{{ .NetworkSettings.IPAddress }}' CONTAINER_ID

Debug

# 容器日志
$ docker logs [CONTAINER_ID]

# 进入 docker 环境
$ docker exec -it --user root [CONTAINER_ID] /bin/sh

# 执行run语句,查看错误
docker run -it IMAGE_LAST

# 进入 docker 环境
docker exec mongo cat [PATH_TO_FILE]

Volume

# 查看所有挂载目录名
$ docker volume ls

# 查看挂载目录信息
$ docker volume inspect [VOLUME_NAME]

# 查看挂载目录
$ alias dm-disk='docker run --rm -it -v /:/docker alpine:edge $@'
$ dm-disk ls -l /docker/[PATH_TO_VOLUME]

# 操作路径
$ dm-disk [COMMAND] /docker/[PATH_TO_VOLUME]