簡體   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