[root@swarm-manager ~]#docker service tasks nginx ID NAME SERVICE IMAGE LAST STATE DESIRED STATE NODE 0vbqoyestm7ob6r1zq9jwj6il nginx.4 nginx nginx Running 41 minutes Running swarm-node-1 340e1u31vadq3jtebzeddmatt nginx.5 nginx nginx Preparing 5 seconds Running swarm-manager
上面我们使用了 nginx 镜像启动了 任务。 使用 update --image 可直接对 image 进行更新。
[root@swarm-manager ~]#docker service update --image nginx:new nginx nginx
可以看到 IMAGE 已经变成 nginx:new
[root@swarm-manager ~]#docker service tasks nginx ID NAME SERVICE IMAGE LAST STATE DESIRED STATE NODE 2ba3utpk6icf0w449kcwgxmnm nginx.4 nginx nginx:new Running 49 seconds Running swarm-manager 5wmmneiueeool09fs8d2g1ncq nginx.5 nginx nginx:new Running 49 seconds Running swarm-node-1
挂载目录, mount
docker service create --mount type=bind,target=/container_data/,source=/host_data/
例 - 本地目录:
target = 容器里面的路径, source = 本地硬盘路径
docker service create --name nginx --mount type=bind,target=/usr/share/nginx/html/,source=/opt/web/ --replicas 2 --publish 80:80/tcp nginx
docker service create --mount type=volume,source=<VOLUME-NAME>,target=<CONTAINER-PATH>,volume-driver=<DRIVER>,
例 - 挂载volume卷: source = volume 名称 , traget = 容器里面的路径
docker service create --name nginx --mount type=volume,source=myvolume,target=/usr/share/nginx/html,volume-driver=local --replicas 2 --publish 80:80/tcp nginx
三、 下面是 node , node命令用于节点管理:
[root@swarm-manager ~]#docker node --help Usage: docker node COMMAND Manage Docker Swarm nodes Options: --help Print usage Commands: accept Accept a node in the swarm demote Demote a node from manager in the swarm inspect Inspect a node in the swarm ls List nodes in the swarm promote Promote a node to a manager in the swarm rm Remove a node from the swarm tasks List tasks running on a node update Update a node Run 'docker node COMMAND --help' for more information on a command.
1. 首先是 docker node accept 命令, 这个命令用于 同意 申请加入 swarm 集群。
在使用 docker swarm init 的时候,如果使用了 --auto-accept none 的话,需要使用 docker node accept 来通过申请。
在没有通过申请之前,节点 MEMBERSHIP 状态为 Pending 状态。
--auto-accept 可以设置三种角色 分别为 (worker, manager, or none) 。
使用 docker node accept + 节点 ID 既可通过申请。
2. docker node promote 与 docker node demote 命令。
docker node promote 是 将 worker 普通节点,提升为 manager 节点。
docker node demote 是 将 manager 管理节点,降级为 worker 节点。
3. docker node inspect 可查看节点的具体信息
docker node rm 可删除一个节点
docker node tasks 可查看节点中运行的 service 任务。
四、 docker stack/deploy 目前 stack 还处于 测试阶段。
https://github.com/docker/docker/blob/master/experimental/docker-stacks-and-bundles.md
目前 docker 1.12.0-rc2 版本还没有这个命令, 等待 正式版 的到来。