wordpress - 如何在Docker上的WordPress上启用主题

标签 wordpress docker dockerfile wp-cli

我正在使用docker为多个wordpress主题/插件运行开发环境。但是,我不知道如何在创建容器时自动启用主题。通常,我只会为此使用wp-cli。我创建了一个自定义图像来扩展官方的wordpress图像,但是我不知道如何在设置/ var / www / html文件夹后运行wp-cli命令(我认为这是由wordpress图像创建的)入口点脚本)。如果我将命令放在dockerfile中的“RUN”命令中,则这些命令只会失败,因为/ var / www / html目录为空。但是,如果在设置好容器后立即连接到该容器,则将填充目录,并且wp-cli可以正常工作。从父镜像运行entrypoint.sh后,如何运行命令?

这是我的dockerfile的内容(不起作用):

FROM wordpress
MAINTAINER Me!
COPY docker-install/wp-cli.phar /usr/local/bin/wp
WORKDIR /var/www/html
RUN chmod u+x /usr/local/bin/wp
RUN /usr/local/bin/wp core install --title="Test WP Site" --admin_user=admin --admin_password=something --admin_email=my@cool.email  --url=localhost:8080 --allow-root
RUN /usr/local/bin/wp theme activate mytheme --allow-root

最佳答案

简短的答案:您不能。 ENTRYPOINTCMD在Docker容器运行时使用,而不是在构建时使用。在这种情况下,Wordpress环境实际上是在容器运行时启动的,因此您无法在构建期间与其进行交互。

答案很长:您可以使用Docker Compose创建两个服务,一个用于Wordpress,另一个用于Wordpress CLI变体(请参阅https://hub.docker.com/_/wordpress/上的cli标签),并使用volumes_from创建两个服务,以帮助实现您的目标。然后,您可以使用docker-compose run cli-service wp-cli command运行命令。

关于wordpress - 如何在Docker上的WordPress上启用主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43309373/

相关文章:

jquery - Wordpress 视频的 100% 宽度和高度(水平滚动)

wordpress - 如何从 WordPress 前端更改网站的主题?

docker - 如何在windows server 2016中成功拉取windows nano server docker镜像?

docker - Docker Image使用另一个镜像运行测试用例

shell - 使用Dockerfile中的Shell脚本启动多个服务

laravel - Jenkins管道-Laravel单元测试

php - 在 WooCommerce 电子邮件通知中隐藏本地取货的送货地址

javascript - 将查询字符串添加到 data-href

Docker 网桥

docker - Docker 服务和 Docker 容器有什么区别?