terraform - 在 yaml 中挂载一个目录
terraform - mounting a directory in yaml
我正在管理 goole 云平台上的实例,并使用 terraform 脚本将 docker 图像部署到 GCP 中。我现在使用 Terraform 脚本遇到的问题是,当启动 docker 图像时,将主机目录安装到 docker 容器中。
如果我可以手动 运行 一个 docker 命令,我可以做这样的事情。
docker run -v <host_dir>:<container_local_path> -it <image_id>
但是我需要在Terraform Yaml 中配置挂载目录。这是我的 Terraform YAML 文件。
spec:
containers:
- name: MyDocker
image: "docker_image_name"
ports:
- containerPort: 80
hostPort: 80
我在主机中有一个目录 (/www/project/data)。该目录需要挂载到 docker 容器中。
有人知道如何将这个目录挂载到这个 yaml 文件中吗?
或者任何变通方法都值得赞赏。
谢谢。
我假设您正在将 Docker 图像加载到基于容器的计算引擎中。我的建议是确定使用 GCP 控制台手动创建 GCE 映像和安装磁盘的方法。以下内容将提供有关该任务的指导。
一旦您能够手动实现所需的 GCP 环境,似乎有一个方法可以将其转换为 Terraform 脚本,如下所述:
https://github.com/terraform-providers/terraform-provider-google/issues/1022
高级配方似乎是在计算引擎配置的元数据中找到 docker 命令和规范的配置。我们可以通过 运行 手动命令并查看可以实现该目标的 REST 请求来找到所需的元数据。一旦我们知道了元数据,我们就可以将其转录为 Terraform 脚本中的等效设置,以便由 Terraform 添加。
我找到了答案。请确保 'dataDir' 名称必须在 'volumeMounts and volumes'.
之间匹配
volumeMounts:
- name: 'dataDir'
mountPath: '/data/'
volumes:
- name: 'dataDir'
hostPath:
path: '/tmp/logs'
我正在管理 goole 云平台上的实例,并使用 terraform 脚本将 docker 图像部署到 GCP 中。我现在使用 Terraform 脚本遇到的问题是,当启动 docker 图像时,将主机目录安装到 docker 容器中。
如果我可以手动 运行 一个 docker 命令,我可以做这样的事情。
docker run -v <host_dir>:<container_local_path> -it <image_id>
但是我需要在Terraform Yaml 中配置挂载目录。这是我的 Terraform YAML 文件。
spec:
containers:
- name: MyDocker
image: "docker_image_name"
ports:
- containerPort: 80
hostPort: 80
我在主机中有一个目录 (/www/project/data)。该目录需要挂载到 docker 容器中。
有人知道如何将这个目录挂载到这个 yaml 文件中吗?
或者任何变通方法都值得赞赏。
谢谢。
我假设您正在将 Docker 图像加载到基于容器的计算引擎中。我的建议是确定使用 GCP 控制台手动创建 GCE 映像和安装磁盘的方法。以下内容将提供有关该任务的指导。
一旦您能够手动实现所需的 GCP 环境,似乎有一个方法可以将其转换为 Terraform 脚本,如下所述:
https://github.com/terraform-providers/terraform-provider-google/issues/1022
高级配方似乎是在计算引擎配置的元数据中找到 docker 命令和规范的配置。我们可以通过 运行 手动命令并查看可以实现该目标的 REST 请求来找到所需的元数据。一旦我们知道了元数据,我们就可以将其转录为 Terraform 脚本中的等效设置,以便由 Terraform 添加。
我找到了答案。请确保 'dataDir' 名称必须在 'volumeMounts and volumes'.
之间匹配 volumeMounts:
- name: 'dataDir'
mountPath: '/data/'
volumes:
- name: 'dataDir'
hostPath:
path: '/tmp/logs'