【问题标题】:Docker compose doesn't expose port 80 for a Linked Service setupDocker compose 不会为链接服务设置公开端口 80
【发布时间】:2018-12-05 21:40:49
【问题描述】:

这是 docker compose 文件

version: '3.3'

services:
   db:
     image: mysql:5.7
     volumes:
       - blog-vol:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: mysqlpass
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wpuser
       MYSQL_PASSWORD: mysqluserpass

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "80:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wpuser
       WORDPRESS_DB_PASSWORD: mysqluserpass
volumes:
    blog-vol:

我照常提出来

docker-compose up -d

由于某种原因,http://localhost(端口 80)或http://my_private_ip(端口 80)在启动时无法解析。

但是,当我将上面的“端口”配置更改为

ports:
 -"8000:80"

http://localhost:8000http://my_private_ip:8000 工作。不确定端口 80 发生了什么。我确实看到它可用。我通过运行 nginx 实例测试了端口 80

docker run -p 80:80 -d nginx

这很好地暴露了端口 80 的服务。我不确定上面的 docker-compose 配置发生了什么。我在这里遗漏了什么吗?

【问题讨论】:

  • 当你对它们进行 docker-compose-up 时,容器是否真正运行?容器运行时 80 端口是否空闲?
  • 在没有 -d 的情况下运行以检查日志,也许有些东西不起作用

标签: docker docker-compose


【解决方案1】:

问题在于官方 Docker 映像中的默认 Wordpress 配置。我公开了上述 MySQL 实例的端口并连接到数据库服务器。我检查了 WP 配置,发现它有一个固定的配置,用于服务器运行的位置,包括端口。我更新了这个,一切都开始按预期工作!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-30
    • 2019-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-01
    • 1970-01-01
    相关资源
    最近更新 更多