在构建时保留目录 docker/gcloud

Preserve directory on build docker/gcloud

空白凝视:
当附加存储库中的更改触发构建时,如何防止应用程序创建的目录结构被删除(覆盖)?

场景:
google 云上的 Web 应用 运行 使用 Docker/Kubernetes。构建由推送到 Bitbucket 上的 repo 触发。

问题:
构建后,应用程序焕然一新,应用程序创建的 dirs/files 被擦除。

独角兽Objective:
保留应用程序已创建的 dirs/files,将它们转移到新构建或跳过完整构建并在触发器触发时执行类似于 git 拉动的操作。

Google报告的当前构建步骤:

gcr.io/cloud-builders/docker
pull [details...]

gcr.io/cloud-builders/docker
build -t [details...]

gcr.io/cloud-builders/kubectl
set image [details...]

数据持久性(您的应用程序生成的数据)应始终在构建过程之外处理。

您有几个选项可以 "mount" 本地文件系统到容器:

  1. PersistentVolume/PersistentVolumeClaim(您可以在集群中配置持久卷并将其安装在 pod 中,请参阅:https://kubernetes.io/docs/concepts/storage/persistent-volumes
  2. NFS(您可以在集群中部署一个 NFS 服务器,并使用 PVC 将卷挂载到您的 pod,有关实时示例+视频,请参见:https://matthewdavis.io/highly-available-wordpress-on-kubernetes
  3. 使用 GCS Fuse 作为本地文件系统安装 google 云存储桶(参见:https://github.com/mateothegreat/k8-byexamples-gcsfuse

希望对您有所帮助! 如果您仍然需要帮助,请联系我们并提供有关您的应用程序数据结构、类型和大小的更多详细信息。