【问题标题】:How to access wordpress running on a docker container?如何访问在 docker 容器上运行的 wordpress?
【发布时间】:2020-07-10 17:54:45
【问题描述】:

只有一个安装了 docker 的 ubuntu 服务器。使用

拉取 wordpress docker 图像
`$ docker pull wordpress`.

然后使用

运行容器
$ docker run --name my-wp -p 8080 -h 192.168.1.11 -d wordpress 

检查日志:

$ docker logs my-wp
WordPress not found in /var/www/html - copying now...
Complete! WordPress has been successfully copied to /var/www/html
[Mon Mar 30 10:42:10.499346 2020] [mpm_prefork:notice] [pid 1] AH00163: Apache/2.4.38 
(Debian) PHP/7.3.16 configured -- resuming normal operations
[Mon Mar 30 10:42:10.499390 2020] [core:notice] [pid 1] AH00094: Command line: 'apache2 -D 
FOREGROUND'

检查正在运行的容器和端口号:

$ docker ps 
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                             NAMES
9a06a4bb7ce5        wordpress           "docker-entrypoint.s…"   22 minutes ago      Up 22 minutes       80/tcp, 0.0.0.0:32769->8080/tcp   my-wp

现在我尝试使用 ip 192.168.1.11:8080 和 192.168.1.11:32769 和 127.0.0.1:8080 和 127.0.0.1:32769 访问 wordpress。没有人可以打开 wordpress 页面。 请注意,我已经在主机操作系统的端口 80 上运行了一个网络服务器。

关于如何访问 wordpress 网页的任何想法?

【问题讨论】:

  • 如果您根本没有修改 Wordpress 配置,它看起来仍然在侦听容器内的端口 80(默认 HTTP 端口)。这是与您的主机系统分开的网络命名空间,因此不会发生冲突。尝试将-p 8080 更改为-p 80;您也可以自己选择重新映射的端口-p 8080:80
  • 谢谢大卫。这完全是重新映射的问题。我将容器的 80 端口重新映射到主机中的 8080 端口。现在一切正常。这是工作命令:$ docker run --name my-wp -p 8080:80 -d wordpress。感谢您指出这一点。

标签: wordpress apache docker containers


【解决方案1】:

感谢 David Maze,他的评论帮助我们意识到端口重新映射是必要的。通过下面的命令,我将容器的80端口映射到主机的8080端口,现在wordpress就可以访问了。

$ docker run --name my-wp -p 8080:80 -d wordpress

【讨论】:

    猜你喜欢
    • 2016-12-14
    • 1970-01-01
    • 2021-01-02
    • 2022-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多