Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker compose尝试创建重复的容器_Docker_Docker Compose - Fatal编程技术网

Docker compose尝试创建重复的容器

Docker 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设置多个服务,以便它们可以通过公共网络相互通信。当我调用command
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
。它确实起作用了,一切都开始正常了。但是,没有其他进程使用该端口,所以我不确定冲突会发生在哪里。这太奇怪了。在找到解决方法方面做得很好。