主要功能简要概述:
- 撰写文件以部署Swarm模式服务
- 改进的CLI向后兼容性
- 清理命令
- 重组CLI
- 监控和构建改进
通过@manomarks在此视频中了解有关这些功能的更多详细信息:
Docker 1.13入门
使用适用于Mac或Windows的 Docker入门。 安装后,版本信息如下所示:
Client:
Version: 1.13.0
API version: 1.25
Go version: go1.7.3
Git commit: 49bf474
Built: Wed Jan 18 16:20:26 2017
OS/Arch: darwin/amd64
Server:
Version: 1.13.0
API version: 1.25 (minimum version 1.12)
Go version: go1.7.3
Git commit: 49bf474
Built: Wed Jan 18 16:20:26 2017
OS/Arch: linux/amd64
Experimental: true
Docker CLI问题
Docker 1.12 CLI有大约40个顶级单独命令。 尽管这些命令运行得很好,但是它们有一些问题:
- 命令在一个列表中列出,没有任何组织。 这使得新手很难入门和学习命令。 ( #8756 )
- 无论它们是在映像上还是在容器上运行,该命令(例如
docker inspect
)也不会提供足够的上下文。 图像和容器命令的这种混合会引起混乱。 ( #13509 ) - 命令名称不一致。 例如,
docker images
是复数,并给出映像列表,而docker ps
是单数,并给出容器列表。 当然,它们还有命名不一致的问题。 ( #8829 ) - 一些命令(例如
build
和run
被大量使用,然后一些不可思议的命令(例如pause
和wait
则很少使用。 将所有命令保持在同一级别似乎并不公平。
Docker 1.13修复了这个问题!
Docker管理命令
Docker 1.13在逻辑上将命令分组为管理命令。
现在是顶级的单独命令:
checkpoint Manage checkpoints
container Manage containers
image Manage images
network Manage networks
node Manage Swarm nodes
plugin Manage plugins
secret Manage Docker secrets
service Manage services
stack Manage Docker stacks
swarm Manage Swarm
system Manage Docker
volume Manage volumes
现在使用docker image ls
命令而不是docker images
命令获取映像列表。 类似的docker container ls
显示的是容器列表,而不是docker ls
。 这为命令带来了很多一致性,使新手和专业人士可以直观,轻松地记住命令。
每个管理命令都有一些相似的子命令集,它们在其中对命令类别执行操作:
子命令 | 目的 |
| 列出<类别>(图像,容器,卷,机密等) |
| 删除<类别> |
| 检查<类别> |
并且还有基于管理类别的其他子命令。
一些常用的命令仍处于顶层。
默认情况下,还将显示所有顶级命令。 但是您可以将DOCKER_HIDE_LEGACY_COMMANDS
环境变量设置为仅显示管理命令。 因此,即使docker --help
将显示所有单独和管理命令。 但是以下命令将仅显示新的管理命令:
DOCKER_HIDE_LEGACY_COMMANDS=true docker --help
仍然支持旧语法,但是建议开始使用新语法。
可以通过以下方式启动新的Couchbase容器:
docker container run -d -p 8091-8094:8091-8094 -p 11210:11210 arungupta/couchbase
图像列表可以看成是:
docker image ls
将Docker Solo映射到管理命令
让我们看一下现有的顶级命令如何与管理命令匹配:
1.12 | 1.13 | 目的 |
连接 | 容器连接 | 附加到正在运行的容器 |
建立 | 图像构建 | 从Dockerfile构建映像 |
承诺 | 容器提交 | 根据容器的更改创建新图像 |
cp | 容器cp | 在容器和本地文件系统之间复制文件/文件夹 |
创建 | 容器提交 | 创建一个新的容器 |
差异 | 容器差异 | 检查容器文件系统上的更改 |
大事记 | 系统事件 | 从服务器获取实时事件 |
执行 | 容器执行 | 在正在运行的容器中运行命令 |
出口 | 集装箱出口 | 将容器的文件系统导出为tar存档 |
历史 | 图像历史 | 显示图像的历史记录 |
图片 | 影像ls | 列出图片 |
进口 | 图片导入 | 从tarball导入内容以创建文件系统映像 |
信息 | 系统信息 | 显示系统范围的信息 |
检查 | 集装箱检查 | 返回有关容器,图像或任务的低级信息 |
杀 | 集装箱杀死 | 杀死一个或多个正在运行的容器 |
加载 | 图像加载 | 从tar存档或STDIN加载图像 |
登录 | 登录 | 登录到Docker注册表。 |
登出 | 登出 | 从Docker注册表注销。 |
日志 | 集装箱日志 | 提取容器的日志 |
网络 | 网络 | 管理Docker网络 |
节点 | 节点 | 管理Docker Swarm节点 |
暂停 | 容器暂停 | 暂停一个或多个容器中的所有进程 |
港口 | 货柜码头 | 列出端口映射或容器的特定映射 |
ps | 容器ls | 列出容器 |
拉 | 图像拉 | 从注册表中提取图像或存储库 |
推 | 图片推送 | 将映像或存储库推送到注册表 |
改名 | 容器重命名 | 重命名容器 |
重新开始 | 容器重启 | 重新启动容器 |
R M | 集装箱rm | 取出一个或多个容器 |
rmi | 图像rm | 删除一个或多个图像 |
跑 | 集装箱运输 | 在新容器中运行命令 |
救 | 图片保存 | 将一个或多个图像保存到tar存档(默认情况下流式传输到STDOUT) |
搜索 | 搜索 | 在Docker Hub中搜索图像 |
服务 | 服务 | 管理Docker服务 |
开始 | 容器开始 | 启动一个或多个已停止的容器 |
统计资料 | 集装箱统计 | 显示实时的容器资源使用情况统计流 |
停 | 货柜站 | 停止一个或多个运行中的容器 |
一群 | 一群 | 管理Docker Swarm |
标签 | 图片标签 | 将图像标记到存储库中 |
最佳 | 集装箱顶 | 显示容器的运行过程 |
暂停 | 容器暂停 | 取消暂停一个或多个容器中的所有进程 |
更新 | 容器更新 | 更新一个或多个容器的配置 |
版 | 版 | 显示Docker版本信息 |
体积 | 体积 | 管理Docker卷 |
等待 | 集装箱等待 | 阻塞直到容器停止,然后打印其退出代码 |
在太平洋标准时间上午10点1/25注册Docker Online Meetup,以获取有关Docker 1.13的更多详细信息。
使用适用于Mac或Windows的 Docker来开始使用Docker 1.13。
当然,您可以了解有关如何在Containers上运行Couchbase的更多信息。
相关文章:
- Docker常用命令速查表(技术提示#59)
- Docker 1.7.0,Docker Machine 0.3.0,Docker Compose 1.3.0,Docker Swarm 0.3.0
- 使用Docker Compose和Docker Machine的Docker Swarm上的Couchbase集群
- Eclipse中的Docker工具
- Docker 1.6发布– Docker Machine 0.2.0(技术提示#84)
翻译自: https://www.javacodegeeks.com/2017/01/docker-1-13-management-commands.html