У меня есть файл CI gitlab, который создает проекты, подобные этому:
image: 'docker/compose:1.25.1-rc1'
services:
- 'docker:dind'
variables:
GIT_SUBMODULE_STRATEGY: recursive
stages:
- build
- deploy
buildCode:
stage: build
except:
- deploy
script:
- docker build -t dataserver -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:latest -f dockerfile .
deployCode:
stage: deploy
only:
- deploy
script:
- docker build -t dataserver -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:latest -f dockerfile .
- docker login registry.gitlab.com -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD}
- docker push ${CI_REGISTRY}/${CI_PROJECT_PATH}:latest
- docker network create network && echo 'creating network'
- docker-compose -f docker-compose.yml pull
- docker-compose -f docker-compose.yml rm -f -s
- docker-compose -f docker-compose.yml up -d
Идея состоит в том, чтобы использовать docker / compose: 1.25.1-rc1 для создания среды docker comppose и сборки файлы.
Файл docker сам вызывает этот образ для сборки
ОТ mcr.microsoft.com/dotnet/core/sdk:3.1 как сборка
, а затем использует этот образ для выполнения:
ОТ mcr.microsoft.com/dotnet/core/aspnet:3.1 как окончательный
так. net 3.1 должен быть установлен.
однако, когда я запускаю приложение, я получаю это:
(Я не могу сделать захват текста, так что это скриншот)
Это означает, что. net 3.1 не установлен, и я не могу понять проблему. Если я скомпилирую приложение для 3.0 с той же настройкой CI, оно запустится.