转发自:http://dockone.io/article/2059
1.13版本的主要特点:
- 使用Compose文件部署Swarm模式服务
- 改进命令行向后兼容
- 整理命令
- 命令行调整
- 改进Docker的监控与构建
Docker命令行的问题
Docker 1.12命令行大摡有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 ps来显示容器列表。这就带来了很多一致性的命令,为新手以及专业人士更为直观且容易记住命令。
每个管理命令有一套类似的子命令,他们负责执行操作。
子命令 | 用途 |
---|---|
ls | 获取<image,container,volume,secret等等>的列表 |
rm | 移除<image,container,volume等等> |
inspect | 检阅<image,container,volume等等> |
基于管理命令类别还有其他子命令。
一些大量使用的命令仍然在顶层。
默认情况下,所有的顶级命令也会显示出来。但是你可以设置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单独命令映射到管理命令
1.12 | 1.13 | 用途 |
---|---|---|
attach | container attach | 附加到一个运行的容器 |
build | image build | 从一个Dockerfile构建镜像 |
commit | container commit | 从一个容器的修改创建一个新的镜像 |
cp | container cp | 在容器与本地文件系统之间复制文件/文件夹 |
create | container create | 创建新的容器 |
diff | container diff | 检阅一个容器文件系统的修改 |
events | system events | 获取服务器的实时时间 |
exec | container exec | 在运行的容器内执行命令 |
export | container export | 打包一个容器文件系统到tar文件 |
history | image history | 展示镜像历史信息 |
images | image ls | 展示镜像列表 |
import | image import | 用tar文件导入并创建镜像文件 |
info | system info | 展示整个系统信息 |
inspect | container inspect | 展示一个容器/镜像或者任务的底层信息 |
kill | container kill | 终止一个或者多个运行中的容器 |
load | image load | 从tar文件或者标准输入载入镜像 |
login | login | 登录Docker registry |
logout | logout | 从Docker registry登出 |
logs | container logs | 获取容器的日志 |
network | network | 管理Docker网络 |
node | node | 管理Docker Swarm节点 |
pause | container pause | 暂停一个或者多个容器的所有进程 |
port | container port | 展示容器的端口映射 |
ps | container ls | 展示容器列表 |
pull | image pull | 从某个registry拉取镜像或者仓库 |
push | image push | 推送镜像或者仓库到某个registry |
rename | container rename | 重命名容器 |
restart | container restart | 重启容器 |
rm | container rm | 移除一个或多个容器 |
rmi | image rm | 移除一个或多个镜像 |
run | container run | 运行一个新的容器 |
save | image save | 打包一个或多个镜像到tar文件(默认是到标准输出) |
search | search | 在Docker Hub搜索镜像 |
service | service | 管理Docker services |
start | container start | 启动一个或者多个容器 |
stats | container stats | 获取容器的实时资源使用统计 |
stop | container stop | 停止一个或多个运行容器 |
swarm | swarm | 管理Docker Swarm |
tag | image tag | 标记一个镜像到仓库 |
top | container top | 展示容器运行进程 |
unpause | container unpause | 解除暂停一个或多个容器的所有进程 |
update | container update | 更新一个或多个容器的配置 |
version | version | 显示Docker版本信息 |
volume | volume | 管理Docker volumes |
wait | container wait | 阻塞直到容器停止,然后打印退出代码 |