站长博客
站长博客随手笔记
Toggle navigation
站长博客
Home
MacOS
Database
Linux
PHP
Git
Golang
About Me
Archives
Tags
Docker Swarm集群中如何指定容器部署节点
Docker
2024-01-05 14:37:47
254
0
0
admin
Docker
在docker swarm 集群中,通常默认随机部署容器到各个节点上。 但是,有时在部署中总会遇到,一些服务要指定在特殊的机器上。 如果碰到这种情况,我们可以利用 `docker-compose.yml` 文件中的 `deploy.placement.constraints` 属性: 1. 指定manager或者work节点 ```yaml deploy: replicas: 1 placement: constraints: ## 常用方式指定 manager或者work节点 - node.role == worker ``` 2. 指定主机名 ```yaml deploy: replicas: 1 placement: constraints: - node.hostname == docker1 ``` 3. 指定node标签 node label 可以给一个或多个机器打上一个标签,然后再compose文件中指定节点标签,就可以部署在打上对应标签的机器上。具体步骤如下: 现在主节点机器上对所有节点机器进行打标签操作,命令如下: ``` docker node update --label-add role=标签名称 主机名 ``` 例如我要对一个主机名为docker1的机器打上一个标签为db的标签 ``` docker node update --label-add role=db docker1 ``` 然后,配置compose文件: ```yaml deploy: replicas: 1 placement: constraints: - node.labels.role == db ``` 删除node标签的命令 ``` docker node update --label-rm role 标签名称 ``` 4. 指定节点id 先查看node 的id,命令如下: ``` docker node ls ``` docker swarm集群中如何指定容器部署节点 ```yaml deploy: replicas: 1 placement: constraints: - node.id == xy4ttvg3xqbvwu4lok2xpgmrc ``` 5. 根据engine标签 ```yaml deploy: replicas: 1 placement: constraints: - engine.labels.operatingsystem==ubuntu 14.04 ```
Prev:
Docker Swarm集群中使用NFS共享存储
Next:
文档第一,会议第二
0
likes
254
Weibo
Wechat
Tencent Weibo
QQ Zone
RenRen
Table of content