Docker 命令
子命令分类 | 子命令 |
---|---|
Docker环境信息 | info 、 version |
容器生命周期管理 | Create、exec、kill、pause、restart、rm、run、start、stop、unpause |
镜像仓库命令 | login、logout、pull、push、search |
镜像管理 | build、images、import、load、rmi、save、tag、commit |
容器运维操作 | attach、export、inspect、port、ps、rename、stats、top、wait、cp、diff |
系统日志信息 | events、history、logs |
docker 相关命令用法解读:
1. Docker 环境信息
docker info 用于检查Docker是否正确安装,如果正确安装该命令会输出Docker的配置信息 ,一般结合 docker version 使用,两者结合能够提取到足够详细的Docker环境信息
sudo docker info
sudo docker version
2.容器生命周期管理
生命周期管理涉及容器启动、停止等功能,
docker run命令使用方法,用户可以选用的选项近40个,run 命令基于特定的镜像创建一个容器,并依据选项来控制该容器。命令启动的容器会随机分配一个CONTAINER ID, 用以标识该容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG....]
例如:
sudo docker run ubunto echo "Hello World"
输出 Hello World
- -i选项表示使用交互模式,始终保持输入流开放;
- -t 选项标识分配一个伪终端,一般两个参数结合时使用-it,即可在容器中利用打开的伪终端进行交互操作;
- —name 选项可以指定docker run 命令启动的容器的名字,无此项会随机分配一个名字
- -c 选项 用于给运行在容器中的所有进程分配CPU的shares值,这是一个相对权重,实际处理速度还与宿主机的cpu相关
- -m 用于限制为容器中所有进程分配的内存总量,以B、K、M、G为单位
- -v 用于挂载一个volume,可以用多个-v 参数同时挂载多个volume。格式:[host-dir]:[container-dir]:[rw|ro]
- -p 用于将容器的端口暴露给宿主机的端口,其格式为hostPort:containerPort.
docker start/stop/restart 命令
docker run 命令创建一个容器运行,而对已经存在的容器,可以通过docker start/stop/restart 来启动、停止、重启。
创建容器时每个新容器分配一个唯一id 的标识,docker操作利用容器标识确定具体容器
3. Docker registry
Docker registry 是存储容器镜像的仓库,用户可以通过Docker client与Docker registry 进行通信,以此来完成镜像的搜索、下载和上传
Docker pull 命令
docker pull
是docker 中常用的命令,主要用于从Docker registry 中拉取image 或repository用法:
docker pull [OPTIONS] NAME[:TAG]
例如:
sudo docker pull ubuntu
sudo docker pull ubuntu:ubuntu12.04
sudo docker pull SEL/ubuntu
Docker push 命令
docker push
可以将本地的image 或 repository 推送到docker Hub 的 公共或私有镜像库以及私有服务器用法 :
docker push NAME[:TAG]
4. 镜像管理
docker images 命令
通过docker images 命令可以列出主机上的镜像,默认只列出最顶层的镜像,可以使用 -a 选项显示所有镜像
用法:
docker images [OPTIONS] [NAME]
例如:
sudo docker images
docker rmi和docker rm 命令
一个用于删除镜像,一个用于删除容器,他们可以同时删除多个镜像或容器
例如:
docker rm [OPTIONS] CONTAINER [CONTAINER...]
docker rmi [OPTIONS] IMAGE [IMAGE...]
使用rmi 删除镜像时,如果已有基于该镜像启动的容器存在,则无法直接删除,需要首先删除容器。可加-f 选项,可执行强制删除。
5.容器运维操作
- Docker attach 命令
docker attach
命令对于开发者来说十分有用,它可以连接到正在运行的容器,观察该容器的运行情况,或与容器的主进程进行交互。方法:
docker attach [OPTIONS] CONTAINER
- Docker inspect 命令
docker inspect
命令可以查看镜像和容器的详细信息,默认会列出全部信息,可以通过—format 参数来指定输出模板格式,以便输出特定信息方法:
docker inspect [OPTIONS] CONTAINER|IMAGE [CONTAINER|IMAGE...]
例如:
sudo docker inspect --format='{{.NetworkSettings.IPAddress}}' ee36
- Docker ps 命令
docker ps
可以查看容器相关信息,默认只显示正常运行的容器信息。可以查看到CONTAINER ID、NAMES、IMAGE、STATUS、容器启动后执行的COMMAND、创建时间CREATED和绑定开启的端口PORTS方法:
docker ps [OPTIONS]
常用选项 -a 查看所有容器(包括停止的容器) -l选项则只查看最新创建的容器,包括不在运行中的容器
6. 其他子命令
- Docker commit 命令
Commit 命令可以将一个容器固化为一个新的镜像。当需要制定特定的镜像时,会进行修改容器的配置,
方法:
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
提交保存时,只能选用正在运行的容器来制作镜像。
- events、history和logs命令
events、history、logs这三个命令用于查看Docker的系统日志信息。
events命令会打印出实时的系统事件;history命令会打印出指定镜像的历史版本信息,即构建该镜像的每一层镜像的命令记录;logs命令会打印出容器中进程的运行日志。
用法:
docker events [OPTONS]
docker history [OPTIONS] IMAGE
docker logs [OPTIONS] CONTAINER