背景
我们是把Directory.Build.props及其Import的文件,都放在http://dev.amihome.cn
那么docker build的时候,也是需要下载Directory.Build.props及其Import的文件的。
为了统一这个操作,减少到处写下载脚本的工作,我们把这个下载的脚本,放在映像里。
所以我们以mcr.microsoft.com/dotnet/sdk:8.0为基础,加一个操作就可以了。
Dockerfile如下
from mcr.microsoft.com/dotnet/sdk:8.0
COPY --from=docker.amihome.cn/amihome/gitlab/docker-linux-dotnet8.0:latest /home/public/download-directory-builds-props.sh /home/public/download-directory-builds-props.sh
因为在我们的机器上,download-directory-builds-props.sh是放在另外一个目录下,而且制作在我们另外一篇文章的基础映像里,所以我们这里用from语句去拷贝。这样download-directory-builds-props.sh在我们电脑上,只保存一个地方,脚本的内容就不会混乱。
docker.amihome.cn/amihome/gitlab/docker-linux-dotnet8.0:latest 的制作方法,在下面这篇文章里:
制作docker方式执行Gitlab Runner所需要的镜像
构建和推送镜像到仓库
docker build
docker build -t docker.amihome.cn/amihome/dotnet/sdk8:latest .
docker push
docker push docker.amihome.cn/amihome/dotnet/sdk8:latest
如果没有登入docker仓库,必须先执行docker login username
黑夜里不停折腾的代码行者。