镜像管理
# 查看所有镜像
$ docker images
# 搜索镜像
$ docker search nginx
# 拉取镜像,默认最新版本,可以指定版本
$ docker pull nginx:latest
# 导出镜像
$ docker save nginx:latest > nginx.tar
# 导入镜像
$ docker load < nginx.tar
# 修改镜像标签名
$ docker tag nginx:latest nginx:test
# 查看镜像创建层信息
$ docker history nginx
# 删除镜像
$ docker rmi nginx:test
容器管理
# 运行容器;-d 在后台运行
$ docker run -d --name=mysql
# 查看运行中的容器
$ docker ps
# 查看全部容器,包括已停止的容器
$ docker ps -a
# 查看容器中运行的进程
$ docker top mysql
# 查看资源占用
$ docker stats mysql
# 容器操作
$ docker start mysql
$ docker restart mysql
$ docker stop mysql
$ docker kill mysql
# 暂停/恢复容器
$ docker pause mysql
$ docker unpause mysql
# 删除容器;运行状态的容器会删除失败
$ docker rm mysql
# 强制删除容器;运行状态的容器也会被删除
$ docker rm -f mysql
# 查看容器运行日志
$ docker logs -f mysql
# 执行命令(-i 交互式 -t 终端方式)
$ docker exec -it mysql /bin/bash
# 复制文件
$ docker cp a.txt mysql:/tmp
$ docker cp mysql:/tmp/a.txt /data
# 查看容器/镜像元信息;包含 PID、IP 等等
$ docker insepct mysql
# 格式化输出提取创建时间
$ docker inspect -f '{{.Created}}' mysql
# 挂载目录
$ docker inspect --format "{{.Config.Volumes}}"
# 查看容器运行状态
$ docker inspect --format '{{.Name}} {{.State.Running}}' mysql
# 查看容器 IP 地址
$ docker inspect --format='{{.NetworkSettings.IPAddress}}' mysql
# 查看容器内文件结构变化
$ docker diff mysql
# 创建容器网络
# https://docs.docker.com/network
$ docker network create --driver bridge mynet