1. 下载dind的镜像
docker pull docker:dind
2. 执行该镜像
docker run -it --privileged --name some-docker -d docker:dind
3. 镜像内处理
安装一些必须要有的包 apk add --no-cache icu-libs
4. 下载 dotnet 的 tar包
https://www.microsoft.com/net/download/thank-you/dotnet-sdk-2.1.302-linux-x64-alpine-binaries
非常明确的下载地址为
https://download.microsoft.com/download/4/0/9/40920432-3302-47a8-b13c-bbc4848ad114/dotnet-sdk-2.1.302-linux-musl-x64.tar.gz
5. copy到运行 dind的宿主机
然后将压缩包 放进docker
docker cp dotnet-sdk-2.1.-linux-musl-x64.tar.gz some-docker:/
6. 使用最简单的方法安装dotnet
将解压缩的所有文件 放到 /usr/bin 目录下
mkdir dotnetcore
mv dotnet-sdk-2.1.-linux-musl-x64.tar.gz dotnetcore
cd dotnetcore
tar -zxf dotnet-sdk-2.1.-linux-musl-x64.tar.gz
cp * -r /usr/bin rm * # 删除垃圾文件.根据情况 处理
7. docker commit 生成新镜像
docker commit some-docker 10.24.101.99:/opensource/alpine_dind_dotnet:2.0
8. docker push 到私有的 harbor仓库
docker push 10.24.101.99:/opensource/alpine_dind_dotnet:2.0
9. 其他机器的测试
方法同前面
学习来源
https://asciinema.org/a/24707
会的太少 下次再学习下 如何写dockerfile