繁体   English   中英

Docker,将服务名称从 PHP 更改为不同的返回 503 Service Unavailable

[英]Docker, changing service name from PHP to different returns 503 Service Unavailable

我有 docker-compose.yml 看起来像这样。

version: "3.6"
services:
  php:
   build: './php/'
   ports:
     - 9000:9000
   networks:
     - backend
   volumes: 
     - .\puppet_projects\pname\pname:/var/www/html/pname
  apache_pname:
    build: './apache/'
    depends_on:
      - php
    ports: 
      - "80:80"
    networks:
      - frontend
      - backend
    volumes: 
      - .\puppet_projects\pname\pname:/var/www/html/pname
networks:
  frontend:
  backend:

当我开始 docker-compose up 项目工作正常但将php更改为 ie 之后。 php_pname我收到 503 站点不可用

version: "3.6"
services:
  php_pname:
   build: './php/'
   ports:
     - 9000:9000
   networks:
     - backend
   volumes: 
     - .\puppet_projects\pname\pname:/var/www/html/pname
  apache_pname:
    build: './apache/'
    depends_on:
      - php_pname
    ports: 
      - "80:80"
    networks:
      - frontend
      - backend
    volumes: 
      - .\puppet_projects\pname\pname:/var/www/html/pname
networks:
  frontend:
  backend:

什么导致错误。 我该如何解决? 我是否必须将服务名称设置为php而无需更改?

我想您使用 Apache2 作为代理,它被配置为将请求传递给php服务。 当您更改服务名称时,它的内部 DNS 记录在 Docker 中也会发生变化,因此 Apache 无法再找到php

您可以反映 Apache 配置中的更改,也可以为php服务添加别名以为其命名:

services:
  php_pname:
   build: './php/'
   ports:
     - 9000:9000
   networks:
     backend:
       aliases:
         - php

这样,您可以使用php_pnamephp_pnamebackend网络访问服务php

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM