在构建docker / gcloud上保留目录

时间:2018-11-27 20:41:20

标签: docker kubernetes gcloud

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

场景:
使用Docker / Kubernetes在Google云上运行的Web应用。通过在Bitbucket上进行回购来触发构建。

问题:
构建完该应用程序之后,该应用程序创建的目录/文件将被清除。

独角兽目标:
保留应用程序已创建的目录/文件,将其转移到新版本中,或者跳过完整版本,并在触发触发器时执行类似于git pull的操作。

Google报告的当前构建步骤:

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

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

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

1 个答案:

答案 0 :(得分:0)

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

您有几个选择,可以在其中将文件系统“挂载”到本地容器中。

  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

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