文章字数:2132,阅读全文大约需要8分钟
一、容器生命周期管理
| 命令 | 含义 |
|---|---|
| run | 启动新容器 |
| start | 启动一个或多个被停止的容器 |
| stop | 停止容器,允许容器进行关闭前准备 |
| restart | 重启容器 |
| kill | 直接关闭容器 |
| rm | 删除一个或多个容器 |
| pause | 暂停容器中所有的进程 |
| unpause | 恢复容器中所有的进程 |
| create | 创建新容器,但不启动 |
| exec | 在运行的容器中执行命令 |
- 示例
1 | docker run [options] imageTag [cmd] [args] |
- 参数说明
-a stdin指定标准输出内容类型,可选stdin``stdout``stderr-d后台运行容器,返回容器ID-i交互式运行容器,通常搭配-t-t为容器重新分配伪输入终端,通常搭配-i-P随机映射端口,容器内端口随机映射到主机端口-p指定端口映射宿主端口:容器端口--name="name"指定容器名称--dns 8.8.8.8指定容器的DNS,默认和宿主机一致--dns-search test.com指定容器DNS搜索域,默认和宿主机一致-h "hostname"指定容器hostname-e username="name"设置环境变量--env-file=[]从指定文件中获取环境变量--cpuset="0-2"或者--cpuset="0,1,2"绑定容器到指定的CPU上运行-m设置容器使用内存最大值--net="bridge"指定容器网络连接类型,可选bridge``host``none``container--link=[]添加链接到另一个容器--expose=[]开发一个端口或者一组端口--volume``-v绑定一个卷
- 示例
1 | docker start [OPTIONS] CONTAINER [CONTAINER...] |
- 示例
1 | docker stop [OPTIONS] CONTAINER [CONTAINER...] |
- 示例
1 | docker restart [OPTIONS] CONTAINER [CONTAINER...] |
- 示例
1 | docker kill [OPTIONS] CONTAINER [CONTAINER...] |
- 示例
1 | docker rm [OPTIONS] CONTAINER [CONTAINER...] |
- 参数
-f通过SIGKILL信号强制删除运行中的容器-l移除容器间的网络连接,而不是容器本身-v删除容器关联的卷
- 示例
1 | docker pause CONTAINER [CONTAINER...] |
- 示例
1 | docker unpause CONTAINER [CONTAINER...] |
- 示例
1 | docker create [OPTIONS] IMAGE [COMMAND] [ARG...] |
- 示例
1 | docker exec [OPTIONS] CONTAINER COMMAND [ARG...] |
二、容器操作
| 命令 | 含义 |
|---|---|
| ps | 列出所有容器 |
| inspect | 获取容器/镜像的元数据 |
| top | 查看容器中运行的进程信息,支持ps命令参数 |
| attach | 连接到正在运行中的容器 |
| events | 从服务器获取实时事件 |
| logs | 获取容器的日志 |
| wait | 阻塞运行,直到容器停止。然后打印容器退出代码 |
| export | 将文件系统当做tar归档文件,导出到指定输出 |
| port | 列出容器端口映射 |
- 示例
1 | docker ps [OPTIONS] |
- 参数
-a显示所有的容器,包括未运行的-f根据条件过滤--format指定返回内容的模板-l显示最近创建的容器-n列出最近创建的n个容器--no-trunc不阶段输出-q静默模式,只显示容器编号-s显示总的文件大小
- 示例
1 | docker inspect [OPTIONS] NAME|ID [NAME|ID...] |
- 参数
-f指定返回值的模板文件-s显示总的文件大小--type为指定类型返回JSON
- 示例
1 | docker top [OPTIONS] CONTAINER [ps OPTIONS] |
相当于在容器内部执行top命令
- 示例
1 | docker attach [OPTIONS] CONTAINER |
--sig-proxy=false参数可以使ctrl-d和ctrl-c不会退出容器,仅退出连接
- 示例
1 | docker events [OPTIONS] |
- 参数
-f根据条件过滤--since从指定的时间戳后显示所有事件--until流水时间显示到指定时间为止
- 示例
1 | docker logs [OPTIONS] CONTAINER |
- 参数
-f跟着日志输出--since显示某个开始时间的所有日志-t显示时间戳--tail仅列出最新N条容器日志
- 示例
1 | docker wait [OPTIONS] CONTAINER [CONTAINER...] |
- 示例
1 | docker export [OPTIONS] CONTAINER |
- 参数
-o将输出内容写到文件
- 示例
1 | docker port [OPTIONS] CONTAINER [PRIVATE_PORT[/PROTO]] |
三、容器rootfs命令
| 命令 | 含义 |
|---|---|
| commit | 从容器创建一个新的镜像,将容器保存成新镜像 |
| cp | 容器和主机直接数据拷贝 |
| diff | 检查容器里文件结构的更改 |
- 示例
1 | docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] |
- 参数
-a镜像作者-c使用Dockerfile来创建镜像-m镜像说明-p提交时将容器暂停
- 示例
1 | docker cp [OPTIONS] 容器:地址 主机地址 |
-L保持源目标中的链接
- 示例
1 | docker diff [OPTIONS] CONTAINER |
四、镜像仓库
| 命令 | 含义 |
|---|---|
| login/loginout | 登录/退出镜像仓库 |
| pull | 从镜像仓库中拉取或者更新指定镜像 |
| push | 本地镜像上传到镜像仓库 |
| search | 从Docker Hub查找镜像 |
- 示例
1 | # -u 用户名 -p 密码 不指定仓库地址,默认是Docker Hub |
- 示例
1 | docker pull [OPTIONS] NAME[:TAG|@DIGEST] |
- 参数
-a拉取所有tagged镜像--disable-content-trust忽略镜像校验,默认开启
- 示例
1 | # --disable-content-trust :忽略镜像的校验,默认开启 |
- 示例
1 | docker search [OPTIONS] TERM |
- 参数
--automated只列出automated build类型的镜像--no-trunc显示完整镜像描述-f stars=10列出收藏数不小于指定数的镜像
五、本地仓库
| 命令 | 示例 | 含义 |
|---|---|---|
| images | 列出本地镜像 | |
| rmi | 删除本地一个或多个镜像 | |
| tag | 标记本地镜像,将其归入某一仓库 | |
| build | 使用Dockerfile创建镜像 | |
| history | 查看指定镜像的创建历史 | |
| save | 和export类似,生产的文件是多层,可以回滚到上个版本 | |
| load | ||
| import |
- 示例
1 | docker images [OPTIONS] [REPOSITORY[:TAG]] |
- 参数
-a列出本地所有镜像(含中间影响层,默认没有)--digests显示镜像摘要-f显示满足条件的镜像--format指定返回值的模板文件--no-trunc显示完整的镜像信息-q只显示镜像ID
- 示例
1 | docker rmi [OPTIONS] IMAGE [IMAGE...] |
- 参数
-f强制删除--no-prune不移除该镜像的过程镜像,默认移除
- 示例
1 | docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG] |
- 示例
1 | docker build [OPTIONS] PATH | URL | - |
- 参数
--build-arg=[]设置镜像创建时的变量--cpu-shares设置cpu使用权重--cpu-period限制cpu cfs周期--cpu-quota限制cpu cfs配额--cpuset-cpus指定使用的cpu id--cpuset-mens指定使用的内存id--disable-content-trust忽略检验,默认开启-f指定使用的Dockerfile路径,.为本目录下的dockerfile--force-rm设置镜像过程中删除中间容器--isolation使用容器隔离技术--label=[]设置镜像使用的元数据-m设置内存最大值--memory-swap设置swap最大值为内存+swap,-1表示不限制swap--no-cache创建镜像的过程中不适用缓存--pull尝试更新镜像的新版本--quiet,-q安静模式,成功后只输出镜像ID--rm设置镜像成功后删除中间容器--shm-size设置/dev/shm的大小,默认64m--ulimit设置Ulimit配置--squash将Dockerfile中所有操作压缩为一层--tag,-t设置镜像名字及标签,通常name:tag或name,可以在一次构建中为一个镜像设置多个标签--network默认default在构建期间设置RUN指令的网络模式
- 示例
1 | docker history [OPTIONS] IMAGE |
- 参数
-H以可读的格式打印镜像大小和日期,默认true--no-trunc显示完整提交记录-q仅列出提交记录ID
其他
| 命令 | 示例 | 含义 |
|---|---|---|
| info | docker info [OPTIONS] |
查看docker系统、镜像、容器数等信息 |
| version | docker version |
显示docker版本信息 |