【问题标题】:Docker exposing ports site can't be reached无法访问 Docker 暴露端口站点
【发布时间】:2017-01-03 04:03:25
【问题描述】:

我已经在我的 dockerfile 中公开了所需的端口,并将它们映射到我的 docker-compose.yml

如果我创建没有 docker-compose.yml 的容器,我可以访问所有内容,但如果我使用 docker-compose.yml 文件,我无法通过 http-get 请求访问 3 个图像中的 2 个。

但是根据docker port <container-name>,端口是映射的:

bitmovin@bitmovin-VirtualBox:~/Documents$ docker port php-container 8080:

0.0.0.0:8080

bitmovin@bitmovin-VirtualBox:~/Documents$ docker port php-container:

8080/tcp -> 0.0.0.0:8080

bitmovin@bitmovin-VirtualBox:~/Documents$ docker port comp-container:

8080/tcp -> 0.0.0.0:8070

bitmovin@bitmovin-VirtualBox:~/Documents$ docker port phpmyadmin-container:

8080/tcp -> 0.0.0.0:8090

如果我使用docker-compose 文件,我不知道为什么我无法访问phpmyadmin-containerphp-containercomp-container

我错过了什么重要的事情吗?

php-image:

FROM php:7.0-apache

EXPOSE 8080

COPY Frontend/ /var/www/html/aw3somevideo/
COPY Frontend/ /var/www/html/

RUN chown -R www-data:www-data /var/www/html 
RUN chmod -R 755 /var/www/html 

RUN docker-php-ext-install mysqli 
RUN php -i | grep -F .default_socket

comp-image:

FROM java:openjdk-8u91-jdk
EXPOSE 8070
CMD java -jar encoding-comparison-1.0.jar
ADD encoding-comparison-1.0.jar  /encoding-comparison-1.0.jar

phpmyadmin-image:

FROM phpmyadmin/phpmyadmin
EXPOSE 8090

docker-compose.yml:

db:
    image: mysql-image
    ports:
     - "3306:3306"
    volumes:
     - /var/lib/mysql
    environment:
     - MYSQL_ROOT_PASSWORD=Bitmovin
     - DB_NAME=aw3somevideo
     - DB_USER=Bitmovin
     - DB_PASS=Bitmovin
    container_name: mysql-container

  admin:
    image: phpmyadmin-image
    ports:
      - "8090:8080"
    links:
      - db
    container_name: phpmyadmin-container

  backend:
    image: comp-image
    ports:
      - "8070:8080"
    volumes:
      - ./src:/var/www/backend
    links:
      - db
    container_name: comp-container

  php:
    image: php-image
    volumes:
      - ./src:/var/www/html
    links:
      - db
    ports:
      - "8080:8080"
    container_name: php-container

【问题讨论】:

    标签: docker docker-compose ports get-request


    【解决方案1】:

    解决方案是将端口从 adminphp 分别从 "8080:8080""8090:8080" 更改为 "8080:80""8090:80"

    【讨论】:

      猜你喜欢
      • 2019-09-10
      • 2020-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多