gpt4 book ai didi

wordpress - 如何将Docker WordPress文件从initContainer复制到Kubernetes中的emptyDir中?

转载 作者:行者123 更新时间:2023-12-02 11:41:58 25 4
gpt4 key购买 nike

我正在尝试将官方WordPress Docker镜像中的最终WordPress文件从initContainer复制到emptyDir卷中。我希望emptyDir卷包含整个WordPress安装,因此我可以在容器之间共享它。相反,我只会得到wp-contents文件夹而没有任何内容。没有其他文件或文件夹被复制。
检查WordPress Dockerfile and entrypoint之后,我怀疑入口点未得到执行,因为Dockerfile包含在/ var / www / html中创建wp-content文件夹的指令,但是入口点中似乎没有任何东西得到执行。
我尝试将args:更改为args: ["sh", "-c", "sleep 60 && cp -r /var/www/html/. /shared-wordpress"],希望该容器在我运行cp命令之前只需要一些时间来完成通过入口点的运行,但这没有效果。如果您检查正在运行的wordpress容器中的/shared-wordpress挂载,它将仅显示wp-content文件夹。
/usr/src/wordpress复制WordPress文件非常有效,但它不包含生成的wp-config.php文件。我需要所有的WordPress文件以及生成的wp-config.php文件。

apiVersion: apps/v1
kind: Deployment
metadata:
name: wordpress
labels:
app: wordpress
spec:
selector:
matchLabels:
app: wordpress
template:
metadata:
labels:
app: wordpress
spec:
containers:
- name: wordpress
image: wordpress:5.5.1-php7.4-fpm-alpine
volumeMounts:
- name: shared-wordpress
mountPath: /shared-wordpress
initContainers:
- name: init-wordpress
image: wordpress:5.5.1-php7.4-fpm-alpine
env:
- name: WORDPRESS_DB_HOST
value: test_host
- name: WORDPRESS_DB_USER
value: root
- name: WORDPRESS_DB_PASSWORD
value: hw8djdl21ds
- name: WORDPRESS_DB_NAME
value: local_wordpress
- name: WORDPRESS_DEBUG
value: "1"
- name: WORDPRESS_CONFIG_EXTRA
value: "define( 'FS_METHOD', 'direct' );"
args: ["/bin/sh", "-c", "cp -r /var/www/html/. /shared-wordpress"]
volumeMounts:
- name: shared-wordpress
mountPath: /shared-wordpress
volumes:
- name: shared-wordpress
emptyDir: {}

最佳答案

由于docker cmd被args yaml字段覆盖,因此不会复制您的数据。
Docker入口点exec要求将php-fpm作为进一步的参数传递,以便触发生成wordpress文件的代码。
经过一些测试,我找到了一种解决您的问题的方法。
它是比解决方案更多的解决方法,但是可以解决您的问题。
因此,要触发代码生成,您必须将第一个参数设置为php-fpm。在下面的示例中,我使用-v参数,因此程序立即存在。如果不传递任何参数,它将启动并阻止init容器退出。

initContainers:  
- args:
- php-fpm
- -v
现在,最后一部分是解决文件复制问题。我删除了 cp args并将 EmptyDir装入 /var/www/html。现在,文件将直接生成到所需的卷,因此以后无需复制文件。
 initContainers:
volumeMounts:
- name: shared-wordpress
mountPath: /var/www/html

关于wordpress - 如何将Docker WordPress文件从initContainer复制到Kubernetes中的emptyDir中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64019397/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com