# Docker 常用命令整理及解释

# 基本语法

Docker 命令有两大类,客户端命令和服务端命令。前者是主要的操作接口,后者用来启动 Docker daemon。

  • 客户端命令:基本命令格式为 docker [OPTIONS] COMMAND [arg...]
  • 服务端命令:基本命令格式为 docker daemon [OPTIONS]

# 客户端命令

可以通过 man docker-COMMANDdocker help COMMAND 来查看这些命令的具体用法。

# 镜像命令

//搜索镜像
docker search IMAGE

//获取镜像
docker pull IMAGE:TAG

//查看镜像列表
docker images

//删除镜像
docker rmi IMAGE

//运行镜像
docker run IMAGE
//运行时常用配置项(以mysql为例)
docker run -p 3306:3306 --name mysql-5.7.18 -v /Users/lason/docker/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123123 -d mysql:5.7.18

-p 9000:3306: 将容器的3306端口映射到主机的9000
--name my-name: 设定容器的名称为 my-name
-v $DIR/conf:/etc/mysql/conf.d: 将主机当前目录下的$DIR/conf挂载到容器的/etc/mysql/conf.d
-d: 保持后台运行
-e: 指定环境变量,容器中可以使用该环境变量 此处为初始化root用户的密码


# 容器命令

# 查看正在运行的docker容器
docker ps
# 查看所有的容器
docker ps -a
# 查看所有容器并显示容器大小
docker ps -as

# 运行容器
docker start CONTAINER

# 进入容器
docker exec -i -t -d CONTAINER

-i: 即使没有附加也保持STDIN 打开
-t: 分配一个伪终端
-d: 分离模式: 在后台运行

# 停止容器
docker stop CONTAINER

# 对容器重命名
docker rename OLD_NAME NEW_NAME

# 批量命令

# 列出所有的容器 id
docker container ls -aq

# 停止所有的容器
docker stop $(docker container ls -aq)

# 删除所有的容器
docker container rm $(docker container ls -aq)

# 删除所有镜像
docker image rm $(docker image ls -aq)
上次更新时间: 2020/6/13 下午7:51:31