Docker compose尝试创建重复的容器
我正在使用Docker Compose设置多个服务,以便它们可以通过公共网络相互通信。当我调用commandDocker compose尝试创建重复的容器,docker,docker-compose,Docker,Docker Compose,我正在使用Docker Compose设置多个服务,以便它们可以通过公共网络相互通信。当我调用commanddocker compose up Docker版本:Docker版本19.03.5,构建633a0ea 错误: Creating network "was-kerberos-database_krbnet" with the default driver Creating was-kerberos-database_kerberos_1 ... Creating was-kerberos
docker compose up
Docker版本:Docker版本19.03.5,构建633a0ea
错误:
Creating network "was-kerberos-database_krbnet" with the default driver
Creating was-kerberos-database_kerberos_1 ...
Creating was-kerberos-database_websphere_1 ...
Creating was-kerberos-database_websphere_1 ... error
ERROR: for was-kerberos-database_websphere_1 Cannot start service websphere: driver failed programming external connectivity on endpoinCreating was-kerberos-database_kerberos_1 ... done
isten tcp 0.0.0.0:9443: bind: address already in use
Creating was-kerberos-database_db2_1 ... done
ERROR: for websphere Cannot start service websphere: driver failed programming external connectivity on endpoint was-kerberos-database_websphere_1 (e4706a4f9ec7bb5f2ab81078c270d15c786999edf5dc8a2a235e316b62cc39da): Error starting userland proxy: listen tcp 0.0.0.0:9443: bind: address already in use
ERROR: Encountered errors while bringing up the project.
看起来docker compose正在尝试创建两个重复的was-kerberos-database\u websphere\u 1
实例。然后遇到问题,因为两个端口上绑定了相同的端口
version: '3'
volumes:
krb5kdc-data:
services:
websphere:
build: websphere-traditional
ports:
- "9043:9043"
- "9443:9443"
- "9080:9080"
environment:
- KRB5_REALM=EXAMPLE.COM
- KRB5_KDC=kerberos
- ENABLE_BASIC_LOGGING=true
volumes:
- ./trace/twas/logs:/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs
networks:
krbnet:
ipv4_address: 10.5.0.2
db2:
build: db2
ports:
- "50000:50000"
environment:
- KRB5_REALM=EXAMPLE.COM
- KRB5_KDC=kerberos
privileged: True
depends_on:
- "kerberos"
networks:
krbnet:
ipv4_address: 10.5.0.5
kerberos:
build: kdc-server
ports:
- "88:88"
- "464:464"
- "749:749"
environment:
- KRB5_REALM=EXAMPLE.COM
- KRB5_KDC=localhost
- KRB5_PASS=password
volumes:
- krb5kdc-data:/var/lib/krb5kdc
networks:
krbnet:
ipv4_address: 10.5.0.9
networks:
krbnet:
ipam:
config:
- subnet: 10.5.0.0/16
我已经运行了
sudolsof-I-p-n | grep9443
来查看是否还有其他东西在使用这个端口,但什么都没有。这些命令的输出是什么:docker ps-a
和sudonetstat-tulnp
,这很奇怪。我不确定,但我想知道构建名称中的连字符是否导致了问题?可能build:websphere-traditional
被解释为build:websphere
?是否可以使用带有下划线而不是连字符的图像名称来查看其是否有效?这是一个非常奇怪的问题。谢谢你的建议。我可以试一试。最后,我确实更改了此文件以使用不同的端口49443:9443
。它确实起作用了,一切都开始正常了。但是,没有其他进程使用该端口,所以我不确定冲突会发生在哪里。这太奇怪了。找到解决方法做得很好。这些命令的输出是什么:docker ps-a
和sudo netstat-tulnp
,这很奇怪。我不确定,但我想知道构建名称中的连字符是否导致了问题?可能build:websphere-traditional
被解释为build:websphere
?是否可以使用带有下划线而不是连字符的图像名称来查看其是否有效?这是一个非常奇怪的问题。谢谢你的建议。我可以试一试。最后,我确实更改了此文件以使用不同的端口49443:9443
。它确实起作用了,一切都开始正常了。但是,没有其他进程使用该端口,所以我不确定冲突会发生在哪里。这太奇怪了。在找到解决方法方面做得很好。