一、容器

# 从主机拷贝文件到容器
docker cp /home/xxx.txt 容器名称/id:/home/xxx.txt

# 从容器拷贝文件到主机
docker cp 容器名称/id:/home/xxx.txt /home/xxx.txt

# 进入容器
docker exec -it 容器名称/id /bin/bash

# 查看容器日志
docker logs 容器名称/id

# 查看容器实时日志
docker logs -f -t -n=5 容器名称/id

# 查看容器运行状态
docker ps

# 查看所有容器
docker ps -a

# 查看容器信息
docker inspect 容器名称/id

# 查看容器端口映射
docker port 容器名称/id

# 查看容器内部进程
docker top 容器名称/id

# 查看容器磁盘使用情况
docker diff 容器名称/id

# 查看容器内网IP
docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称/id

# 查看容器外网IP
docker inspect --format='{{.NetworkSettings.Gateway}}' 容器名称/id

# 判断容器是否存在
docker inspect 容器名称/id

# 判断容器是否正在运行
docker inspect -f {{.State.Running}} 容器名称/id

# 启动容器
docker start 容器名称/id

# 停止容器
docker stop 容器名称/id

# 重启容器
docker restart 容器名称/id

# 强制停止容器
docker kill 容器名称/id

# 删除容器
docker rm 容器名称/id

# 删除所有容器
docker rm $(docker ps -a -q)

二、镜像

# 构建镜像
docker build -t 镜像名称:版本号 .

# 构建镜像,如果镜像已经存在,不重新构建
docker build -t 镜像名称:版本号 --no-cache .

# 构建镜像,如果镜像已经存在,删除后构建
docker build --rm -t 镜像名称:版本号 .

# 构建镜像,指定 Dockerfile 文件
docker build -t 镜像名称:版本号 -f Dockerfile .

# 查看镜像
docker images

# 删除镜像
docker rmi 镜像名称:版本号

# 删除所有镜像
docker rmi $(docker images -q)

# 从镜像中导出容器
docker export 容器名称/id > 容器名称.tar

# 导入容器
docker import 容器名称.tar

# 导入容器,指定镜像名称
docker import - 镜像名称:版本号 < 容器名称.tar

# 导入容器,指定镜像名称和作者
docker import - 镜像名称:版本号 --change='CMD [""]' --change='LABEL author="xxx"' < 容器名称.tar

# 查看镜像历史
docker history 镜像名称:版本号

# 查看镜像大小
docker images -f dangling=true

# 查看镜像的所有容器
docker ps -a -f ancestor=镜像名称:版本号

# 删除镜像的所有容器
docker rm $(docker ps -a -f ancestor=镜像名称:版本号 -q)