У меня нет большого опыта работы с Docker (то есть я знаю только несколько вещей о написании Dockerfile
и о концепциях, используемых в Docker). Я хочу создать образ Docker для CodeBuild, чтобы построить свое приложение, однако я не уверен, как CodeCommit перенесет код из CodeCommit в мой образ docker.
Я последовал заэтот уроко расширении CodeBuild с помощью пользовательских образов Docker, но я все еще не могу понять процесс загрузки кода из git в контейнер.
Не могли бы вы мне помочь советом?
решение1
Я предполагаю, что вы используете CodePipeline, а CodeBuild может получить входной артефакт (zip-файл). Следующий шаг — скопировать код в образ контейнера во время процесса сборки, используя:
КОПИРОВАТЬ {из} {в}
в Dockerfile.
решение2
Codebuild извлекает код из codecommit, и он будет доступен нам в папке $CODEBUILD_SRC_DIR. Теперь, если вы хотите скопировать код в контейнер Docker во время выполнения docker build, убедитесь, что вы находитесь в правильном каталоге ($CODEBUILD_SRC_DIR) и используйте команду COPY с '.', как показано ниже:
КОПИРОВАТЬ ./тест /тест
Если вы не укажете точку (.), то определенно появится ошибка, подобная приведенной ниже: COPY failed: stat /var/lib/docker/tmp/docker-builder095648372/test: no such file or directory
Надеюсь, это будет полезно новым пользователям AWS.