自定义构建基于.net core 的基础镜像

先说一个问题

本文来源:http://www.yu833.com/www_197c_com/

申博在线娱乐登入,布拉加目前6分,比根特多1分,赢球才能确保小组出线。  但情感从来无法纳入成本计算中,2015年末,有媒体根据百度外卖的融资计划书测算,按一线城市配送员人均月工资5000元计算,配送员每天至少配送20单,配送站方能实现盈亏平衡。      【】  说了半天,全又何德何能去抢日系MPV的饭碗呢?全的“全新”其实可以概括为三点,全新的设计、2.0T动力以及独立后悬挂,这三方面的变化足以让全由内而外散发着新鲜的气息。  据了解,铃木汽车公司与法国雷诺汽车均对提议做出回应,但官方意见暂未给出。

  山东大学于2015年启动的“青年学者未来计划”项目,两年来共遴选出107人,根据计划,该项目将利用10年时间,选拔培养一支500人左右科研成果突出、发展潜力巨大的青年学术骨干队伍,集中优势资源使优秀青年人才尽快成长发展起来。82式手榴弹系列由82—1、82—2、82—3和82—2式全塑无柄手榴弹组成,除两种82—2式手榴弹进行了批量生产外,其余几个弹种定型后便转入了技术储备。”  然而,对于美国政府起诉德国高管一案同样也面'/>  姜鹏看着骑手群里的小视频回忆当年勇爬66楼的故事,那则小视频里,饿了么外卖员在上海的办公楼里边跺脚边抹眼泪,午餐时间的电梯人满为患,而饿了么则规定,超时率不能超过2.5%,超过后就会扣绩效工资。

”经销商直言不讳地表示。同时,售价有望下探到20万以内,相比老款进口版本有明显的下降,这无疑大大增强了其市场竞争力,市场前景值得期待。更何况,香波特这次选择的是上篮,而不是扣篮。”  前三节比赛,双方战成了86平,最后的对决时刻,杜锋大胆的派出了全华班的阵容。

首先记录一个问题,今天在用 Jenkins 构建项目的时候突然出现包源的错误:

/usr/share/dotnet/sdk/2.2.104/NuGet.targets(114,5): error : Unable to load the service index for source /api_nuget_org/v3/index.json. [/....csproj]
/usr/share/dotnet/sdk/2.2.104/NuGet.targets(114,5): error :   The HTTP request to 'GET /api_nuget_org/v3/index.json' has timed out after 100000ms. [/....csproj]

nuget的包源无法访问(无法ping通),而我在一台服务器上访问/api_nuget_org/v3/index.json时则会自动重定向到/nuget_cdn_azure_cn/v3/index.json

但是打包机器执行dotnet restore却还是无法还原成功,即使指定包源后即dotnet restore -s /nuget_cdn_azure_cn/v3/index.json 能还原一部分包,部分包依旧无法还原

最后测试发现,包源只是部分地区无法访问,可以尝试切换源/使用Nuget.Config文件试试,当然最快的还是通过科学的方式访问~。

若本地 VS 的包管理器也无法正常使用,切换源(/nuget_cdn_azure_cn/v3/index.json)即可

再说另外一个问题

然后这篇文章其实是另外的一个问题,之前我构建了一个基础镜像包,基于FROM microsoft/dotnet:2.2-aspnetcore-runtime构建,而我构建时使用的sdk镜像是FROM microsoft/dotnet:2.2-sdk

9.23号(.net core 3.0发布)之前还能够正常构建,今天在解决了上面包源问题后,镜像构建成功并发布到服务器,却发现镜像无法启动起来。

报错信息如下

The specified framework 'Microsoft.NETCore.App', version '2.2.2' was not found.
  - Check application dependencies and target a framework version installed at:
      /usr/share/dotnet/
  - Installing .NET Core prerequisites might help resolve this problem:
      /go_microsoft_com/fwlink/?LinkID=798306&clcid=0x409
  - The .NET Core framework and SDK can be installed from:
      /aka_ms/dotnet-download
  - The following versions are installed:
      2.2.0 at [/usr/share/dotnet/shared/Microsoft.NETCore.App]

既然说是版本问题,那就尝试着将基础进行修改为FROM microsoft/dotnet:2.2.2-aspnetcore-runtime,果然,重新构建后能够好好的运行起来了。

那么我是如何构建的基础镜像的,只需下面 3 个文件就搞定了。

阿里云镜像源

阿里云的软件包源,可用于一些基础镜像中没有的软件安装,写入到 sources.list 供后面使用

  • 文件:sources.list
deb /mirrors_aliyun_com/debian jessie main contrib non-free
deb-src /mirrors_aliyun_com/debian jessie main contrib non-free
deb /mirrors_aliyun_com/debian jessie-updates main contrib non-free
deb-src /mirrors_aliyun_com/debian jessie-updates main contrib non-free
deb /mirrors_aliyun_com/debian-security jessie/updates main contrib non-free
deb-src /mirrors_aliyun_com/debian-security jessie/updates main contrib non-free

一个包含图像库的 Dockerfile

基于dotnet:2.2.2 aspnetcore-runtime,并在其中安装 libgdiplus,设置时区,具体的可以根据自己的项目需要去构建

文件:Dockerfile

FROM microsoft/dotnet:2.2.2-aspnetcore-runtime
WORKDIR /app
COPY sources.list /app/sources.list
RUN rm -f /etc/apt/sources.list && mv sources.list /etc/apt/ && apt-get update -y && apt-get install -y libgdiplus && apt-get clean && ln -s /usr/lib/libgdiplus.so /usr/lib/gdiplus.dll

# 时区设置
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

# ENTRYPOINT ["./xxxxx.dll"]

使用脚本推送镜像到阿里云的容器镜像仓库

要推送镜像到阿里云,需要先去阿里云开通并创建命名空间
需要先登录云端镜像仓库 ,登录阿里云如下

文件名:build.sh (Linux添加执行权限 chmod +x ./build.sh)

export ALIYUN_DOCKER_CLOUD_URL=registry.cn-hangzhou.aliyuncs.com
export DOCKER_IMAGE_NAME=yimocoding/dotnet2.2.2-base
export BUILD_NUMBER=latest

docker build -t $DOCKER_IMAGE_NAME -f ./Dockerfile .
docker tag $DOCKER_IMAGE_NAME $ALIYUN_DOCKER_CLOUD_URL/$DOCKER_IMAGE_NAME:$BUILD_NUMBER
echo 推送镜像到云端
docker push $ALIYUN_DOCKER_CLOUD_URL/$DOCKER_IMAGE_NAME:$BUILD_NUMBER

echo '删除本地镜像'
docker rmi $DOCKER_IMAGE_NAME
docker rmi $ALIYUN_DOCKER_CLOUD_URL/$DOCKER_IMAGE_NAME:$BUILD_NUMBER

三个文件的目录结构

文件创建完成后,执行 build.sh 即可构建镜像并推送到阿里云的镜像仓库,若想提交到其他云仓库,修改脚本中的变量即可

示例文件:申博在线娱乐登入/github_com/yimogit/MeDocker/tree/dotnet

真是,人在家中坐,锅从天落,而为了更好的接锅,记录一二,免得到时候望码兴叹。

posted @ 2019-09-28 21:03  易墨  阅读(...)  评论(...编辑  收藏
Fork me on GitHub
太阳城官方直营网登入 太阳城电子游戏 申博注册赠送体验金 申博游戏登录 www.88psb.com 申博官网下载登入
申博娱乐在线下载登入 申博菲律宾太阳城88登入 申博代理网登入 申博游戏登录官网 www.tyc123.com 菲律宾申博红太阳娱乐直营网
申博现金网登入 申博现金网直营网 百家乐支付宝充值 申博138怎么登入不了 申博娱乐场直营网 申博138娱乐登入