我正在尝试将最终的WordPress文件从官方的WordPress Docker镜像从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: {}发布于 2020-09-23 22:07:57
您的数据未被复制,因为您的docker cmd已被args yaml字段覆盖。
Docker entrypoint exec需要将php-fpm作为另一个参数传递,以便触发生成word press文件的代码。
经过一些测试后,我找到了一种方法来解决您的问题。这是一种比解决方案更好的变通方法,但它解决了您的问题。
因此,要触发代码生成,必须将第一个参数设置为php-fpm。在下面的示例中,我使用了-v参数,这样程序就可以立即存在。如果你不传递任何参数,它将启动并阻止init容器退出。
initContainers:
- args:
- php-fpm
- -v现在,最后一部分是要解决复制文件的问题。我已经删除了cp参数并将EmptyDir挂载到/var/www/html中。现在,文件将直接生成到所需的卷中,因此不需要在以后复制这些文件。
initContainers:
volumeMounts:
- name: shared-wordpress
mountPath: /var/www/html发布于 2020-09-23 14:23:01
如果您需要Configure a Pod Initialization,请检查文档示例中所示的命令格式在应用于您的情况时是否有用:
command:
- cp
- "-r"
- "/var/www/html/."
- "/shared-wordpress"https://stackoverflow.com/questions/64019397
复制相似问题