在Docker中安装bugzilla时,“checkconfig.pl”不会加载在“localconfig”中configuration的IP

我正在设置bugzillamariadb容器的docker决斗。

我有这个docker-compose.yml:

version: '2' services: bugzilla: build: bugzilla image: my/bugzilla:1.0.0 container_name: my-bugzilla restart: always # env_file: # - ./.env environment: MYSQL_DB: ${BUGZILLA_MARIADB_DB} MYSQL_USER: ${BUGZILLA_MARIADB_USER} MYSQL_PWD: ${BUGZILLA_MARIADB_PASSWORD} depends_on: - db ports: - 8080:80 networks: bugzilla_db: bugzilla: aliases: - my-bugzilla db: build: mariadb image: my/mariadb container_name: my-bugzilla-db restart: always environment: MYSQL_ROOT_PASSWORD: ${BUGZILLA_MARIADB_PASSWORD} volumes: - data-bugzilla-db:/var/lib/mysql:z ports: - '3306:3306' networks: bugzilla_db: aliases: - my-bugzilla-db volumes: data-bugzilla-db: networks: bugzilla: bugzilla_db: 

如果我检查networking,我会得到:

 # docker network inspect dockerbugzillaupgrade_bugzilla_db [ { "Name": "dockerbugzillaupgrade_bugzilla_db", "Id": "1b6e7cb4c382c35cfb23b7ba247584b1469a7d9d076c6e609106ca4d535f19d1", "Created": "2017-10-23T16:20:48.156537994+02:00", "Scope": "local", "Driver": "bridge", "EnableIPv6": false, "IPAM": { "Driver": "default", "Options": null, "Config": [ { "Subnet": "172.21.0.0/16", "Gateway": "172.21.0.1" } ] }, "Internal": false, "Attachable": false, "Containers": { "0af71c056d0e995265422e66673c65438e4585f5478f3a57fa3460f9fb8c1c25": { "Name": "my-bugzilla", "EndpointID": "24efee64b6aebdbdc0e9304e7bc484e042b2b6c41b92938044ac090ac5d7020d", "MacAddress": "02:42:ac:15:00:03", "IPv4Address": "172.21.0.3/16", "IPv6Address": "" }, "586d0ae09a894510aa892c70db038041b1d886f282224c6c9bda9b1eae68a452": { "Name": "my-bugzilla-db", "EndpointID": "8525978699f3043066b61f95939fad43c53647166fa82c723bbb451974cfa04a", "MacAddress": "02:42:ac:15:00:02", "IPv4Address": "172.21.0.2/16", "IPv6Address": "" } }, "Options": {}, "Labels": {} } ] 

当我用docker-compose exec bugzilla sh连接到bugzilla容器,并用下面的命令configurationvi / var / www / html / bugzilla / localconfig

 $db_host = 'my-bugzilla-db'; 

然后我运行/var/www/html/bugzilla/checksetup.pl返回:

 Reading ./localconfig... Checking for DBD-mysql (v4.001) ok: found v4.043 There was an error connecting to MySQL: Access denied for user 'bugs'@'172.21.0.3' (using password: YES) This might have several reasons: * MySQL is not running. ... 

我不知道为什么bugzilla试图连接到'172.21.0.3',如果它被configuration为连接到其他服务器。 即使我将db主机域名“my-bugzilla-db”更改为ip“172.21.0.2”,也会引发与错误IP相同的错误。

它看起来像'db_host'参数是不相关的或它被覆盖。 Docker的DNS工作正常。 当我检查我的mariadb连接时,它回答:

 sh-4.4# curl my-bugzilla-db:3306 5.5.5-10.1.19-MariaDB =ztU/'s4 ? E@OMu%SS'dHzmysql_native_password!  #08S01Got packets out of ordersh-4.4#