0

大家好,我在那里制作了一个自定义的 wordpress 图像:https ://github.com/ellakcy/wordpressWithPlugins

在入口点脚本上,我使用 wp-cli 来生成自定义用户以预安装插件。但是我无法使用从 wp-cli 生成的用户登录到控制面板。

你有任何想法如何解决它吗?

脚本的入口点如下:https ://github.com/ellakcy/wordpressWithPlugins/blob/master/docker-entrypoint.sh

我使用以下命令运行容器:(出于开发目的)

docker run --name wpdb -e MYSQL_ROOT_PASSWORD=1234 -d mariadb docker run --name mywordpress --link wpdb:mysql -p 8080:80 -ti wp

我使用 apache 作为反向代理,以便访问在 mywordpress 容器中运行的 wordpress:

<VirtualHost *:80>

ProxyPass /  http://172.17.0.3/
ProxyPassReverse  http://172.17.0.3/ /

</Virtualhost>

(代替 172.17.0.3 可以是运行 wordpress 的容器的 ip)

编辑 1

我设法通过设置网络登录:

docker network create --subnet="172.19.0.0/16" wordpress_default

并将自定义 ips 设置为容器。(我也设置了一些环境变量。)

运行 MYSQL/MARIADB

docker run --name wpdb --net wordpress_default --ip 172.19.0.2 -e MYSQL_ROOT_PASSWORD=1234 -d mariadb

使用一些额外的环境变量运行 wordpress docker

docker run --name mywordpress --net wordpress_default --ip 172.19.0.3 --link wpdb:mysql -e WORDPRESS_ADMIN_PASSWORD=1234 -e WORDPRESS_ADMIN_EMAIL=pc_magas@openmailbox.org -e WORDPRESS_URL=172.19.0.3 -p 8080:80 -ti wp

并通过第二个命令给出的 ip 访问 wordpress 站点。但是我仍然有本地 apache 作为反向代理运行的问题。

4

1 回答 1

0

最后,只需手动将机器的 ip 设置为 url 就像一个魅力。

docker run --name wpdb --net wordpress_default --ip 172.19.0.2 -e MYSQL_ROOT_PASSWORD=1234 -d mariadb
run wordpress docker with some extra enviiromental variables

docker run --name mywordpress --net wordpress_default --ip 172.19.0.3 --link wpdb:mysql -e WORDPRESS_ADMIN_PASSWORD=1234 -e WORDPRESS_ADMIN_EMAIL=pc_magas@openmailbox.org -e WORDPRESS_URL=172.19.0.3 -p 8080:80 -ti wp

我所要做的就是将以下虚拟主机设置为我的 apache:

<VirtualHost *:80>

RequestHeader set X-Forwarded-Proto "http"

ProxyPass /  http://172.19.0.3/
ProxyPassReverse  http://172.19.0.3/ /

</Virtualhost>

(也许对于生产可能需要一些改变)

于 2016-08-25T18:29:10.773 回答