.net6项目打包成镜像

项目中新建Dockerfile文件:

FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app

#拷贝发布目录下的所有文件到容器的工作根目录
COPY ./ ./

# 如果用System.SqlClient.dll访问数据库,需要加这一句
# RUN sed -i 's/TLSv1.2/TLSv1.0/g' /etc/ssl/openssl.cnf

#容器入口点,启动文件相对于Dockerfile的位置,改成项目真实的相对位置
ENTRYPOINT ["dotnet", "WebApi.dll"]

 将Dockerfile的属性改为始终输出

 

右键,发布项目。

 

将发布后的文件传输到CentOS服务器,假设传输到了服务器/apps/publish文件夹中

那么,开始打包镜像

docker build  -t ImageName:TagName dir

# 这里我们改成,其中.是当前目录相对于Dockerfile的位置
cd /apps/publish
docker build -t myWebApi:001 .

 

将打包后的镜像打上tag,便于知道推送的url

docker tag [ImageId] [目的Url]:[镜像版本号]

# 比如
docker tag 3de9 registry.cn-hongkong.aliyuncs.com/mywebapi:v1

其中[目的Url]为私人仓库地址,我用的是阿里云私人仓库,免费申请

 

 

推送镜像到阿里云私人仓库

docker push [刚才打上的tag]

# 如
docker push registry.cn-hongkong.aliyuncs.com/mywebapi:v1

 

此时在K8S中编辑工作负载的镜像版本, 输入registry.cn-hongkong.aliyuncs.com/mywebapi:v1, 即可使用镜像

 

posted on 2023-04-12 15:32  邓绍俊  阅读(217)  评论(0编辑  收藏  举报

导航