nomad docker 镜像将从 Docker Hub 获取。但是我想使用一些本地镜像。我如何使用主题。(我不想使用私人仓库)
示例我想使用本地图像test
> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
test latest da795ca8a32f 36 minutes ago 567MB
Run Code Online (Sandbox Code Playgroud)
job "test" {
datacenters = ["dc1"]
group "example" {
task "test" {
driver = "docker"
config {
image = "test"
}
resources {
cpu = 500
memory = 256
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是不对的 !
我正在遵循本教程,但我不知道为什么在运行某些 Vault 命令时会收到这些权限错误
vault kv put secret/hello foo=world
Error making API request.
URL: GET http://127.0.0.1:8200/v1/sys/internal/ui/mounts/secret/hello
Code: 403. Errors:
* permission denied
Run Code Online (Sandbox Code Playgroud)
欲了解更多信息...
vault status
Key Value
--- -----
Seal Type shamir
Initialized true
Sealed false
Total Shares 1
Threshold 1
Version 1.8.4
Storage Type inmem
Cluster Name vault-cluster-fc4492f9
Cluster ID 87956902-532d-dcfd-5e9a-9f1d36207ef4
HA Enabled false
Run Code Online (Sandbox Code Playgroud)
还有我的Vault包的版本
vault --version
Vault v1.8.4 (925bc650ad1d997e84fbb832f302a6bfe0105bbb)
Run Code Online (Sandbox Code Playgroud)
我已经导出了 Token 和地址,所以我不知道下一步要做什么来解决这个问题。谁能帮我吗?提前致谢。
从 UI 中我可以访问http://127.0.0.1:8200/ui/vault/但在 CLI 中仍然遇到相同的问题。我什至尝试了保管库身份验证登录,但没有任何变化。
在 docker 中,我们有-t
标志来防止容器退出。如何在游牧民族中实现同样的事情?
我想调试是否可以从另一个服务 ping 一个服务,所以我只想要一个带有 curl 的容器。但是,如果我尝试部署 ubuntu 映像,如下所示指定它,它会退出并继续重新启动。我该怎么做才能让它继续运行?
task "testubuntu" {
driver = "docker"
config {
image = "ubuntu:latest"
}
resources {
cpu = 500
memory = 256
network {
mbits = 10
}
}
}
Run Code Online (Sandbox Code Playgroud) Nomad 有三种不同的方式来映射端口:
有什么区别,我什么时候应该使用哪个?
我在 docker 中使用Apache Kafka V3.1 并尝试使用 Nomad 来编排它。我在创建分布式集群时遇到问题。
目标是在 3 个 EC2 实例上拥有 3 个代理/控制器节点
:~$ nslookup broker.service.brain.consul
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: broker.service.brain.consul
Address: 30.10.12.52
Name: broker.service.brain.consul
Address: 30.10.11.8
Name: broker.service.brain.consul
Address: 30.10.13.172
Run Code Online (Sandbox Code Playgroud)
从 Nomad 客户端实例之一内部:
IPv4 address for docker0: 172.17.0.1
IPv4 address for ens5: 30.10.13.172
IPv4 address for nomad: 172.26.64.1
Run Code Online (Sandbox Code Playgroud)
这是相关的Nomad Job配置
job "kafka" {
datacenters = ["stream"]
type = "service"
group "broker" {
count = 3
service {
name = "broker"
port = "9092"
tags = …
Run Code Online (Sandbox Code Playgroud) 当我检查游牧工作的状态时。除了新的分配之外,我还可以看到所有旧的分配详细信息(包括停止和完成)。这个名单相当巨大。
有什么方法可以删除/删除旧的分配详细信息并仅显示最新的分配详细信息。
我正在尝试通过 nomad 运行 docker 容器。该作业规范旨在使用 java docker 映像运行 docker 容器。来自 localhost 路径的卷应该安装到 docker 容器上。该卷将包含一些 java 文件。容器应按照命令指定的方式编译 java 文件。
期望:应该完成 java 程序的编译,并且应该在容器和本地主机路径中创建一个类文件。
职位规格文件:
job "java" {
datacenters = ["dc1"]
type = "service"
update {
max_parallel = 1
healthy_deadline = "3m"
progress_deadline = "10m"
auto_revert = false
canary = 0
}
migrate {
max_parallel = 1
health_check = "checks"
min_healthy_time = "10s"
healthy_deadline = "5m"
}
group "compile" {
count = 1
service {
name = "java-compile"
tags = ["java", "compile"]
} …
Run Code Online (Sandbox Code Playgroud) 假设 Consul 和 Nomad 已配置为在资源池上运行。您将如何仅出于生成 Nginx 'default.conf' 文件的目的而呈现模板文件。
以下面的模板节配置为例;Nomad 无法生成 default.conf '文件';而是创建了一个 default.conf '目录'。
template {
source = "/path/to/tmp.ctmpl"
destination = "folder/default.conf"
change_mode = "restart"
change_signal = "SIGINT"
}
Run Code Online (Sandbox Code Playgroud)
我要么错过了一个技巧,要么误解了“模板节”的功能。
模板生成目录而不是文件的问题之一是,您无法将目录挂载到配置文件路径。因此,运行使用 Nomad docker 驱动程序和示例“docker”卷配置的任务会导致错误。
volumes = ["/path/to/job/folder/default.conf:/etc/nginx/conf.d/default.conf" ]
Run Code Online (Sandbox Code Playgroud)
还是不可能让模板节生成配置文件?
*Ps 使用 Nomad 构建 0.5.5 **
是否可以?
这是我的游牧工作文件
job "test-job" {
...
group "test-group" {
driver = "docker"
config {
image = "<image-name>"
}
...
}
}
Run Code Online (Sandbox Code Playgroud)
我知道可以通过 Dockerfile 的 docker build 将文件复制到 Docker 映像。但我想避免从“image-name”映像显式创建新的 Docker 映像。
我也知道可以将文件复制到从 Docker 映像派生的正在运行的 Docker 容器中。但自从我使用游牧推出泊坞窗图片和填充的容器,将是方便的我,如果保荐人可以复制(通过即时新的泊坞窗层文件拷贝的创建)。
所以我想知道这是否以及如何可能?
我怎样才能建立游牧到行动一样,它的发展模式,而是因此它仍然存在数据来运行这个作为生产安装?就是这样nomad agent -dev
。
我是否重复运行客户端/服务器进程?或者我可以将它配置为同时运行吗?
所以本质上是一个单节点游牧集群