Docke 1 12 基础篇 48条命令 6
Posted firsttry
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docke 1 12 基础篇 48条命令 6相关的知识,希望对你有一定的参考价值。
docker1.12的48条命令,至此已基本仅余下10条,这这篇文章之中,我们将会来看一下剩下10条命令用来做什么的。
docker命令
项番 | 命令 | 详解 |
---|---|---|
No.47 | volume | Manage Docker volumes |
No.21 | network | Manage Docker networks |
No.41 | swarm | Manage Docker Swarm |
No.22 | node | Manage Docker Swarm nodes |
No.36 | service | Manage Docker services |
No.6 | deploy | Create and update a stack from a Distributed Application Bundle (DAB) |
No.8 | events | Get real time events from the server |
No.24 | plugin | Manage Docker plugins |
No.37 | stack | Manage Docker stacks |
No.45 | update | Update configuration of one or more containers |
命令参照
因为诸如volume/network/swarm,与其说其是一条命令,不如说是一个机能,参照前面写过的一些文章,可能会比简单地看一个例子有更好的效果
项番 | 命令 | 详解 | URL |
---|---|---|---|
No.47 | volume | Manage Docker volumes | http://blog.csdn.net/liumiaocn/article/details/52028007 |
No.21 | network | Manage Docker networks | http://blog.csdn.net/liumiaocn/article/details/52296347 http://blog.csdn.net/liumiaocn/article/details/52318289 |
No.41 | swarm | Manage Docker Swarm | http://blog.csdn.net/liumiaocn/article/details/52179195 |
No.22 | node | Manage Docker Swarm nodes | http://blog.csdn.net/liumiaocn/article/details/52179195 |
No.36 | service | Manage Docker services | http://blog.csdn.net/liumiaocn/article/details/52203853 http://blog.csdn.net/liumiaocn/article/details/52206292 |
plugin
plugin是docker1.12重要的一个变更之一,plugin的内置管理在这个版本算是开了一个头了
[root@liumiaocn tmp]# docker plugin ls
NAME TAG ACTIVE
[root@liumiaocn tmp]# docker plugin install tiborvass/no-remove
Plugin "tiborvass/no-remove" is requesting the following privileges:
- network: []
- mount: [/data]
Do you grant the above permissions? [y/N] y
tiborvass/no-remove
[root@liumiaocn tmp]# docker plugin ls
NAME TAG ACTIVE
tiborvass/no-remove latest true
[root@liumiaocn tmp]#
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
events
可以查看发生过的events,详细功能和kubectl大体类似,稍有区别,同质化。比如可以用如下命令查看1个小时之内发生过的event
[root@liumiaocn tmp]# docker events --since ‘1h‘
2016-09-26T19:48:25.244295472-04:00 plugin pull e7ee36b1e8f7820f84806f6b80c60c583a78b6af9d9f346b1c773489f27a153e (name=tiborvass/no-remove:latest)
2016-09-26T19:48:33.152661185-04:00 plugin enable e7ee36b1e8f7820f84806f6b80c60c583a78b6af9d9f346b1c773489f27a153e (name=tiborvass/no-remove:latest)‘
- 1
- 2
- 3
可以看到这正是刚刚演示plugin时所留下的痕迹
update
用于更新container设定,无需停止container直接更新相关设定,比如我们用-it方式启动一个busybox的实例
[root@liumiaocn tmp]# docker run -it --name busybox busybox /bin/sh
/ #
- 1
- 2
在一个新的终端使用前面学到的docker stats可以看到MEMORY LIMIT被设定为了 976.9M
CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
321513a3e7a6 0.00% 1.02 MiB / 976.9 MiB 0.10% 648 B / 648 B 1.057 MB / 0 B 0由于busybox很小,我们使用update调整一下MEMORY LIMIT到20M
[root@liumiaocn ~]# docker update --memory 20M busybox
busybox
[root@liumiaocn ~]#
- 1
- 2
- 3
再次使用docker stats命令即可看到MEMORY LIMIT已经被动态的调整为20M了
CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
d3d7f8934421 0.00% 1.016 MiB / 20 MiB 5.08% 648 B / 648 B 1.057 MB / 0 B 0
stack
在config一个stack之前,我们需要有一个DAB,DAB是什么?Distributed Application Bundle的缩写。DAB其实准确地来说是docker-compose 1.8引入的一个实验性的特性,
我们用Dockerfile可以Build一个镜像,用docker-compose.yml就可以生成一个DAB,其实熟悉docker生态链中其他的产品的话就会知道,大家现在都是这样么做的。
无非是编排的时候多个镜像/多台机器等等的信息考虑进去之后仍然能够更容易编排和使用。使用docker-compose bundle就可以从一个docker-compose.yml生成一个dab文件,
我们接下来看一下如何生成一个dab,以及如何使用一个dab来config一个stack.
[root@liumiaocn docker]# cat docker-compose.yml
version: ‘2‘
services:
nginx:
image: nginx
ports:
- "80:80"
[root@liumiaocn docker]# docker-compose bundle
Wrote bundle to docker.dab
[root@liumiaocn docker]# cat docker.dab
{
"Services": {
"nginx": {
"Image": "nginx@sha256:1ebfe348d131e9657872de9881fe736612b2e8e1630e0508c354acb0350a4566",
"Networks": [
"default"
],
"Ports": [
{
"Port": 80,
"Protocol": "tcp"
}
]
}
},
"Version": "0.1"
}[root@liumiaocn docker]#
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
stack config
[root@liumiaocn demo]# docker stack config demo
Loading bundle from demo.dab
{
"Version": "0.1",
"Services": {
"nginx": {
"Image": "nginx@sha256:1ebfe348d131e9657872de9881fe736612b2e8e1630e0508c354acb0350a4566",
"Ports": [
{
"Protocol": "tcp",
"Port": 80
}
],
"Networks": [
"default"
]
}
}
}[root@liumiaocn demo]#
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
鉴于其余的子命令会需要集群的环境,我们会在swarm的后续文章中继续研究stack和deploy这些experimental的特性。
总结
至此48条命令简单过了一遍,但是这还远远不够,比如生成container的create命令,可设定的option多达82个,如何使用,这是摆在面前的问题。仔细地研究,谨慎地使用,以走马观花的理解作为下面更为深入的理解的开始吧。
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow
以上是关于Docke 1 12 基础篇 48条命令 6的主要内容,如果未能解决你的问题,请参考以下文章