只有在使用“旧的”版本1格式时,我才会在容器的/etc/hosts中看到链接。
我有以下基本版本2 docker-compose.yml文件。
version: '2' services: my-app: image: tomcat:8.0 container_name: my-app1 links: - my-redis my-redis: image: redis container_name: my-redis1
当我运行以下命令时:
docker-compose up -d
docker exec -it my-app1 cat /etc/hosts
127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 172.18.0.3 2abb84ccada9
在docker-compose的版本2中,默认情况下,位于同一网络中的“服务”(容器)是在它们之间链接的。
使用下面的docker-compose.yml文件
version: '2'
services:
my-app:
image: tomcat:8.0
container_name: my-app1
links:
- my-redis
my-redis:
image: redis
container_name: my-redis1
您只需从my-redis
容器执行ping my-app
,并从my-app
容器执行ping my-redis
,以检查它们是否链接。
$ docker-compose up -d
$ docker exec -it my-app1 bash
# ping my-redis
我一直在使用docker撰写文件来运行在生产中部署到kubernetes的微服务架构的开发环境,因此我使用将k8s提供的域名映射到撰写服务名称。例如 使用时一切正常。但是当使用新的(注意没有连字符)时,容器无法相互粉碎。Kafka连接失败。HTTP请求失败。 docker cli版本的compose与旧的命令之间是否有任何更改。没有hypen,我看不到docker compose的版本,但有了它,
问题内容: 我正在尝试设置一个docker- compose文件,该文件旨在用Supervisor替换运行多个进程(RQ worker,RQ仪表板和Flask应用程序)的单个Docker容器解决方案。 主机系统是Debian 8 Linux,我的样子如下(我删除了所有其他条目以减少错误源): “ rq-worker1”是Python RQ工作者,尝试通过本地主机和端口6379连接到Redis,但无
问题内容: 我必须使用docker-compose设置一个mongo副本集。对于副本集,容器必须彼此了解。 我试过了 我收到一个循环导入消息。但是,如果删除到dbreplicasetpart1的反向链接,则无法从dbreplicasetpart2 ping到dbreplicasetpart1。解决办法是什么? 问题答案: 为Docker 1.10更新 Docker 1.10允许在compose文件
我正在开发一个多容器的Docker应用程序,我想要一个容器使用Docker Compose向其他容器的API发出HTTP请求。我收到连接拒绝错误。 这两个容器都运行ASP.NET Core2.2。我使用的IDE是Visual Studio2017。我在用邮递员测试API调用。 DockerFiles Docker组合配置: 服务控制器操作: 卷曲 我还可以使用CURL来稳定与API RESTend
问题内容: 我正在学习docker。我看到这两个词使我感到困惑。例如,这是一个docker-compose,它定义了两个服务和。 该文件定义了一个名为lognet的桥接网络,所有服务都将连接到该网络。据我了解,此操作使那些服务可以看到其他服务。那么在上述情况下,为什么应用程序服务仍需要链接到Redis服务。 谢谢 问题答案: 链接已被网络取代。Docker将它们描述为您应避免使用的旧功能。您可以安
问题内容: 我已经在网上寻找了一段时间,但没有找到解决我的问题的解决方案,该解决方案与此问题类似,容器之间的DockerHTTP请求。但是这个答案已经是我在计算机上正在做的事情。我正在提供我的docker-compose文件 在我的Web容器中,我向或发出了http get请求,但是我没有看到该请求找到通往应用容器的方式。我在浏览器控制台中看到的是此错误消息。我不确定为什么http请求没有进入应用