CURL 在 Wordpress docker 容器内不起作用(apache 图像不是 FPM)

问题描述 投票:0回答:2

我正在尝试本地安装 wordpress 官方 docker 镜像(事实上的镜像而不是 fpm)。

我的docker-compose.yml

version: '3.1'

services:
  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: exampledb
      MYSQL_USER: exampleuser
      MYSQL_PASSWORD: examplepass
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
    volumes:
      - D:/CODEARENA/wordpress/local_docker_vols/mysql:/var/lib/mysql
  wordpress:
    depends_on:
      - db
    image: wordpress
    restart: always
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: exampleuser
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: exampledb
    volumes:
      - D:/CODEARENA/wordpress/local_docker_vols/wordpress:/var/www/html

我能够使用

从主机访问 WordPress 安装

http://localhost:8080

但是当我从 docker-desktop 进入 WordPress 容器的终端时,以下卷曲不起作用

卷曲http://localhost:8080 卷曲 http://wordpress:80

有人可以解释为什么这不起作用吗?我也厌倦了暴露端口,不工作。

php wordpress docker curl
2个回答
0
投票

容器中的服务器正在侦听端口 80。因此,从 Wordpress 容器内部,它必须是

curl http://localhost:80
curl http://wordpress:80
。您可能看不到来自curl 的响应,因为默认情况下它不遵循重定向。尝试按
curl -L http://wordpress:80
跟踪重定向,或按
curl -v http://wordpress:80
查看有关请求的其他信息。


0
投票

我设法通过将主机名添加到启动容器的命令行来修复我的容器。

例如

podman run /
    --detach /
    --name mycontainer --hostname myhost.fqn.whatever /
    --publish 10.1.2.3:8080:80 /
    --publish 10.1.2.3:8443:443  /
    --volume /containers/podman/wordpress/var/www/html:/var/www/html:Z  /
    docker.io/library/wordpress

这具有将 myhost 添加到容器内的 /etc/hosts 的效果

理想情况下,这需要添加到 docker 文件中,但我不是专家。

希望这有帮助

© www.soinside.com 2019 - 2024. All rights reserved.