我试图在Docker-Compose中运行2个容器。我的docker-compose.yml是:
version: '2'
services:
consul:
image: "consul:0.8.3"
hostname: "consul"
command: "agent -server -client=0.0.0.0 -retry-join=10.30.1.97 -retry-join=10.30.1.42 -bootstrap-expect=3 -ui"
ports:
- "8400:8400"
- "8500:8500"
- "8300:8300"
- "8600:53/udp"
vault:
depends_on:
- consul
image: "vault"
hostname: "vault"
links:
- "consul:consul"
environment:
VAULT_ADDR: http://127.0.0.1:8200
ports:
- "8200:8200"
volumes:
- ./tools/wait-for-it.sh:/wait-for-it.sh
- ./config/vault:/config
- ./config/vault/policies:/policies
entrypoint: /wait-for-it.sh -t 20 -h consul -p 8500 -s -- vault server -config=/config/with-consul.hcl
我一开始就发现的问题是,Consult容器使用的不是IP 10.30.1.134(主机的IP),而是我认为它使用的是网桥网络:
2017/07/10 10:09:12 [INFO] raft: Node at 172.18.0.2:8300 [Follower] entering Follower state (Leader: "")
我如何强制它使用10.30.1.134?
eth0链路Encap:Ethernet HWaddr 06:F5:74:4C:AD:9E
inet ADDR:10.30.1.134 BCAST:10.30.1.255掩码:255.255.255.0 inet6 ADDR:FE80::4F5:74FF:FE4C:AD9E/64作用域:连接广播运行多播MTU:9001度量:1 RX数据包:9907809错误:0丢弃:0溢出:0帧:0 TX数据包:17142864错误:0丢弃:0溢出:0载波:0冲突:0 TX队列:1000 RX字节:1328463684(1.3GB)TX字节:2178517759(2.1GB)
Docker compose默认情况下在Docker环境中创建自己网络。因此,回答您的问题--要使用主机网络,您应该使用:
network_mode: "host"
如下所述:https://docs.docker.com/compose/compose-file/compose-file-v2/
但这很少是你真正需要的东西。您定义的端口映射已经在主机和容器之间创建端口转发。例如。HOST_MACHINE_IP:8200将转发到存储库容器。通过这种方式,您可以决定具体公开哪些端口。
问题内容: 我正在使用docker-compose命令运行多个容器。问题是我的docker- compose必须从公共存储库中提取一些图像,并从私有存储库中提取一些图像。我打算做的是将所有必需的映像推送到私有存储库,但是如何使docker- compose从私有存储库中提取映像。 简而言之->当图像仅在那里可用时,如何指向私有存储库 问题答案: 使用命令。(官方文件) 输入您的凭据,然后,只有拥有
我一直在使用docker撰写文件来运行在生产中部署到kubernetes的微服务架构的开发环境,因此我使用将k8s提供的域名映射到撰写服务名称。例如 使用时一切正常。但是当使用新的(注意没有连字符)时,容器无法相互粉碎。Kafka连接失败。HTTP请求失败。 docker cli版本的compose与旧的命令之间是否有任何更改。没有hypen,我看不到docker compose的版本,但有了它,
我在docker-compose.yml中使用,但老实说,这似乎没有什么不同。不是在一篇文章中抛出一堆问题,但无论发生了什么,这是否也是我只能在使用Docker Compose运行web服务器时才能在浏览器中访问web服务器的原因?
经过前文对Docker Compose的讲解,我们以Spring Cloud章节的几个示例项目为例,讲解如何使用Docker Compose部署项目: 准备工作 使用到的示例项目有: 项目名称 作用 microservice-api-gateway API Gateway microservice-consumer-movie-ribbon-with-hystrix 服务消费者 microserv
问题内容: 我试图从两个不同的项目注册表(gitlab容器注册表)中提取两个图像。所有这些都在一个文件中。 如何正确配置我的图像或配置变量(无论如何工作),以正确提取我的图像而不会出现任何访问问题? 我找到了与 部署令牌 一起使用的解决方案,该解决方案对我的项目注册表具有只读访问权限。问题是,如果我只有一个图像要拉出,那将起作用:如何使用gitlabci构建,推入和拉出多个Docker容器?
我目前正在使用https://medium.com/@sunnykay/docker-开发-工作流-节点-快递-蒙戈-4bb3b1f7eb1e尝试这个教程 第一部分在构建< code>docker-compose.yml的地方运行良好,在本地构建完全运行良好,因此我尝试标记它,并将其推入我的< code>dockerhub以了解和尝试更多内容。 这最初是文件中的内容,然后是教程 当我使用< cod