【发布时间】:2020-01-05 17:35:03
【问题描述】:
我有一个 gitlab CI 文件,它正在构建这样的项目:
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-compose环境,构建文件。
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 设置,它就会运行。
【问题讨论】:
标签: docker .net-core gitlab gitlab-ci