Docker + .NET Core(三)-两种发布方式
程序员文章站
2022-06-26 19:37:18
第一种,自己手写dockerfile发布,上传至hubDocker 1. 正常发布到文件夹中,发布文件上传至linux机器上。如 /www/app 2. 将Dockerfile文件也复制到同目录 。/www/app 3. 输入 ,构建一个demo名字的镜像。这个时候就会构建镜像,输入 可以查看当刚刚 ......
第一种,自己手写dockerfile发布,上传至hubdocker
正常发布到文件夹中,发布文件上传至linux机器上。如 /www/app
将dockerfile文件也复制到同目录 。/www/app
输入
docker image build -t demo .
,构建一个demo名字的镜像。这个时候就会构建镜像,输入docker images
可以查看当刚刚生成的镜像。也可以看到下面会用到的imageid输入
docker run --name=demo -d -p 8000:80 -v /www/app:/app demo
这时候访问ip:8000就可以了,输入
docker ps
可以看到正在运行的容器的信息。上传镜像到hubdocker,输入
docker login
然后登录。打标签
docker tag imageid hanfan/demo:1.0
推送docker push hanfan/demo:1.0
其他人就可以
docker pull hanfan/demo:1.0
拉取运行镜像了。使用nginx反向代理
搞定
第二种,使用vs2017或者vs2019(其他的没试过)
项目点右键添加docker支持,选择liunx,也会生成一个dockerfile文件,这个文件的坑更加项目自己去排坑
点击解决方案添加docker-compose项目
运行,这个时候会生成一个镜像。输入
docker images
可以查看。镜像都生成好了,就上第一种一样的操作了
搞定
写一个自己的dockerfile
from microsoft/dotnet:2.1-aspnetcore-runtime as base workdir /app copy . . run ln -s /lib/x86_64-linux-gnu/libdl-2.24.so /lib/x86_64-linux-gnu/libdl.so run echo "deb http://mirrors.aliyun.com/debian wheezy main contrib non-free deb-src http://mirrors.aliyun.com/debian wheezy main contrib non-free deb http://mirrors.aliyun.com/debian wheezy-updates main contrib non-free deb-src http://mirrors.aliyun.com/debian wheezy-updates main contrib non-free deb http://mirrors.aliyun.com/debian-security wheezy/updates main contrib non-free deb-src http://mirrors.aliyun.com/debian-security wheezy/updates main contrib non-free" > /etc/apt/sources.list expose 80 run apt-get update run apt-get install libgdiplus -y && ln -s libgdiplus.so gdiplus.dll from base as final workdir /app entrypoint ["dotnet", "xxxxx.dll"]
推荐阅读
-
Centos7+Docker+Jenkins+ASP.NET Core 2.0自动化发布与部署的实现
-
.NET Core利用skiasharp文字头像生成方法教程(基于docker发布)
-
Asp.Net Core下的两种路由配置方式
-
Docker & ASP.NET Core (3):发布镜像
-
docker发布.net core程序的坑
-
详解如何在ASP.NET Core Web API中以三种方式返回数据
-
asp.net core发布到docker报Microsoft.ApplicationInsights.AspNetCore miss的错误
-
Docker 发布 Abp net core web 服务
-
ASP.NET Core应用错误处理之三种呈现错误页面的方式
-
如何使用vs将asp.net core项目添加容器支持并发布docker镜像到私有dockerhub和添加k8s/helm管理