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

时间:2018-08-16 13:30:30

标签: wordpress docker docker-compose

Docker的新手,尚未完全理解它,如果我的表达式令人困惑/错误,请多多包涵。我在Azure上有一个Ubuntu盒,并分配了公共IP地址。然后,我将腻子放入盒子中并安装apache,php。我还安装了Docker和Docker-compose。我正在按照this official tutorial安装wordpress(在端口8000上)。安装完成后,我可以在http://xxx.xxx.xxx.xxx上看到默认的apache ubunto页面,但无法在http://xxx.xxx.xxx.xxx:8000上访问该网站。无法访问它的原因是什么?我找不到任何相关的教程,因为大多数教程都是在localhost上进行的,因此无法参考。这是我的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中打开端口来使其工作。

1 个答案:

答案 0 :(得分:0)

只要端口被暴露并且您可以在主机中看到内容,docker就不会出现问题

问题可能出在主机上,主机应该暴露8000端口

我不熟悉Azure,但我猜默认情况下端口80是公开的,所以尝试更改

 ports:
   - "8000:80"

 ports:
   - "80:80"

并使用端口80(默认为http)呼叫计算机