Я пытаюсь создать образ GCP в Реестре контейнеров, который содержит репозиторий, который я хочу использовать в виртуальной машине.
Во-первых, у меня есть Dockerfile, который клонирует репо из github, например:
FROM debian:latest
RUN apt update
RUN apt install -y git
RUN mkdir -p /opt/repo-location
WORKDIR /opt/repo-location/
RUN git clone git@github.com:random/repo.git
Я использую файл cloudbuild.yml для использования gcloud:
steps:
- name: 'gcr.io/cloud-builders/docker'
args: ['build',
'-t',
'gcr.io/project-id/image-name',
'.']
images: [
'gcr.io/project-id/image-name',
]
Затем я могу успешно запустить его, который создает образ в реестре, и затем я могу создать виртуальную машину экземпляр, использующий это изображение. Однако, когда я вставляю sh в экземпляр и от go до /opt/
, папки repo-location
там нет.
Я много читал и вижу, как создаются файлы во время сборки недоступны после завершения сборки, но я не могу понять, как ее получить, поэтому они будут присутствовать на виртуальной машине после ее создания.
Я бы хотел, чтобы сборка могла выполнить несколько шагов по первоначальной настройке клонированного репо, чтобы я мог затем s sh войти и вручную запустить процесс из репозитория git.
Есть ли способ сделать это?