繁体   English   中英

无法访问 Docker 容器中安装的 Wordpress

[英]Can't access Wordpress installed in Docker container

Docker 新手并且不完全理解它,如果我的表达令人困惑/错误,请耐心等待。 我在 Azure 上有一个分配了公共 IP 地址的 Ubuntu 机器。 然后我把腻子放进盒子里并安装apache、php。 我还安装了 Docker 和 Docker-compose。 我正在按照此官方教程安装 wordpress(在端口 8000 上)。 安装完成后,我可以在http://xxx.xxx.xxx.xxx看到默认的 apache ubunto 页面,但我无法访问http://xxx.xxx.xxx.xxx:8000的网站。 无法访问它的原因是什么? 我找不到任何相关教程,因为大多数教程都是在本地主机上进行的,因此不可参考。 这是我的 docker-compose.yml 文件:

version: '3.3'

services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: wordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
volumes:
    db_data:

docker ps 输出如下:

CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS              PORTS                            NAMES
07d669b9f95e        phpmyadmin/phpmyadmin   "/run.sh supervisord…"   10 hours ago        Up 10 hours         9000/tcp, 0.0.0.0:8080->80/tcp   wp_phpmyadmin_1
5ff939494739        wordpress:latest        "docker-entrypoint.s…"   11 hours ago        Up 11 hours         0.0.0.0:8000->80/tcp             wp_wordpress_1
479826f7cfb8        mysql:5.7               "docker-entrypoint.s…"   11 hours ago        Up 11 hours         3306/tcp, 33060/tcp              wp_db_1

解决方案:最后我设法通过在 Azure 中打开端口使其工作。

只要端口公开并且您可以在主机中看到内容,问题就不在于docker

问题可能出在主机上,它应该公开 8000 端口

我对 Azure 不熟悉,但我猜默认情况下会暴露 80 端口,因此请尝试更改

 ports:
   - "8000:80"

 ports:
   - "80:80"

并使用端口 80(这是 http 默认)调用机器

暂无
暂无

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

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