这是我的第一篇文章:你好:)
我想让一个容器连接到同一个主机上的两个码头网络。我希望每个网络都有静态IP。网络已经建立。我能够用一个网络设置一个静态IP。
version: '3.3'
services:
homer:
ports:
- '7070:8080'
volumes:
- '/docker/homertest:/www/assets'
restart: always
hostname: homer-test
networks:
#default
#ipv4_address: 172.19.0.222
frontend:
ipv4_address: 172.18.0.111
# - kuma:
# ipv4_address: 172.20.0.222
#- smtp
container_name: homer
image: 'b4bz/homer:latest'
networks:
default:
external:
name: nginx-proxy-manager_default
frontend:
external:
name: portainer_default
kuma:
external:
name: uptime-kuma_default
smtp:
external:
name: smtp-relay_default但有两个或更多
version: '3.3'
services:
homer:
ports:
- '7070:8080'
volumes:
- '/docker/homertest:/www/assets'
restart: always
hostname: homer-test
networks:
#default
#ipv4_address: 172.19.0.222
- frontend:
ipv4_address: 172.18.0.111
- kuma:
ipv4_address: 172.20.0.222
#- smtp
container_name: homer
image: 'b4bz/homer:latest'
networks:
default:
external:
name: nginx-proxy-manager_default
frontend:
external:
name: portainer_default
kuma:
external:
name: uptime-kuma_default
smtp:
external:
name: smtp-relay_default我犯了个错误
services.homer.networks包含{"ipv4_address":{“ipv4_address”:“172.18.0.111”},它是一个无效的类型,应该是一个字符串。
我做错了什么?
发布于 2022-04-18 08:30:28
在第一个版本中使用映射,而在第二个版本中使用列表。做个地图吧。
networks:
frontend:
ipv4_address: 172.18.0.111
kuma:
ipv4_address: 172.20.0.222您还可以查看用于编写文件的json模式。
我所说的列表和映射是什么意思?
list:
- a
- b
mapping:
a:
b:这将像下面这样转化为json,这可能会使它更加清楚:
{
"list": [
"a",
"b"
],
"mapping": {
"a": null,
"b": null
}
}发布于 2022-04-18 08:41:22
只需移除前面和库马前面的连字符。这将使它从列表映射,并将工作。
https://stackoverflow.com/questions/71909345
复制相似问题