.Net Core部署Docker容器
阅读本文需要一定的docker基础知识。
前置工作
首先新建一个core项目,需要注意的是在这个界面最好勾选一下docker支持:
项目创建完成以后,你会在目录中发现Dockerfile。
你可以把它理解为docker的配置文件,docker通过读取它来创建镜像。如果新建项目的时候没有勾选docker支持不会自动生成,但也可以手动创建,影响不大。
接下来修改dockerfile的内容,像这样:
//表示以microsoft/aspnetcore作为基础镜像进行新镜像的构建 FROM microsoft/aspnetcore //指定工作目录为/app WORKDIR /app //将Dockerfile所在目录的所有文件拷贝到容器的app目录下,最前面的点代表Dockerfile所在的目录(注意点后面有空格) COPY . /app //端口,多个端口以空格分割 EXPOSE 80 //指定执行程序 ENTRYPOINT ["dotnet","WebApplication1.dll"]
dockerfile语法是通用的,网上也有很多,就不在这里赘述了。
接下来把项目发布到文件,然后把dockerfile拷贝到发布根目录下。如果频繁操作觉得麻烦的话,就在属性里把它改为“始终复制”,避免手动复制。
docker操作
首先下载官方镜像:
docker pull microsoft/aspnetcore
切换到程序发布的目录(含有dockerfile的目录),执行这一串:
docker build -t mycore . //千万带上这个点
这种情况就是成功了。再拉出镜像列表来看,就会多出一个mycore镜像就是我们刚才build上去的:
在mycore里运行一个容器,起名core01:
docker run -itd -p 80:80 --name core01 mycore
再来查看一下容器的运行状态:
能看到我们的core01已经稳稳的在运行了,到这里就算是部署成功。
最后验证一下。现在打开浏览器,看看是否能够访问本地:
最后一句
刚才build出来的镜像也可以上传到远程镜像仓库,需要部署时直接docker pull下来,方便快捷还不容易出错。关于镜像仓库的问题我会再发文的。
到此这篇关于.Net Core部署Docker容器的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
Gogs+Jenkins+Docker 自动化部署.NetCore的方法步骤
环境说明 腾讯云轻量服务器, 配置 1c 2g 6mb ,系统是 ubuntu 20.14,Docker 和 Jenkins 都在这台服务器上面, 群晖218+一台,Gogs 在这台服务器上. Docker安装 卸载旧的 Docker sudo apt-get remove docker docker-engine docker.io containerd runc 更新 apt 包索引并安装包以允许 apt 通过 HTTPS 使用存储库 sudo apt-get update sudo apt
-
Asp.net Core Jenkins Docker实现一键化部署的实现
写在前面 在前段时间尝试过用Jenkins来进行asp.net core 程序在IIS上面的自动部署.大概的流程是Jenkins从git上获取代码 最开始Jenkins是放在Ubuntu的Docker中,但是由于Powershell执行的原因,就把Jenkins搬到了windows上.因为我们网站的部署需要停掉IIS站点,所以需要Powershell来远程操作服务器(上传文件,停止站点,启动站点),也很顺利的利用WinRM+Powershell脚本实现了上面的功能,但是最后在实际使用中发现,脚本
-
Linux系统Docker 部署 ASP.NET Core应用的流程分析
一.系统环境 1.腾讯云轻量应用服务器CentOS7.6 二.操作流程及途中遇到的问题 1.SSH方式远程Linux ssh <username>@<IP address or domain name> 如果遇到下图问题: 出现这个问题的原因:known_hosts是记录远程主机的公钥的文件,之前重装个系统,而保存的公钥还是未重装系统的系统公钥,在ssh链接的时候首先会验证公钥,如果公钥不对,那么就会报错 解决方法:使用shh-keygen 命令ssh-keygen -R IP,执
-
关于Jenkins + Docker + ASP.NET Core自动化部署的问题(避免踩坑)
本来没想着要写这篇博客,但是在实操过程中,一个是被网络问题搞炸了心态(真心感觉网络能把人搞疯,别人下个包.下个镜像几秒钟搞定,我看着我的几KB小水管真是有苦说不出),另一个就是这里面坑还是有一些的,写出来也是为了让大家避免重复踩坑 几个注意点: 下方shell命令绝大部分都需要管理员权限,所以如果你使用的用户不是root,则都要加上sudo 对于较复杂的命令我都提供了注释版和无注释版,无注释版是为了让你复制起来方便 准备工作 CentOS 7.x Docker Jenkins 一份支持 dock
-
ASP.NET Core开发Docker部署
Docker 常用命令 docker info 检查Docker的安装是否正确,如果没有找到此命令,则表示Docker没有正确安装 docker pull busybox 拉取一个预建的镜像 sample_job=$(docker run -d busybox /bin/sh -c "while true; do echo Docker; sleep 1; done") 以后台进程的方式运行hello docker sample_job命令会隔一秒打印一次Docker,使用Docker
-
详解ASP.NET Core Docker部署
前言 在前面文章中,介绍了 ASP.NET Core在 macOS,Linux 上基于Nginx和Jexus的发布和部署,本篇文章主要是如何在Docker容器中运行ASP.NET Core应用程序. ASP.NET Nginx 发布和部署 :http://www.cnblogs.com/savorboard/p/dotnet-core-publish-nginx.html. Asp.Net Jexus 发布和部署:http://www.cnblogs.com/savorboard/p/dot-n
-
docker部署Asp.net core应用的完整步骤
1 容器概念 使用Docker前我们首先要简单了解一下容器的概念.MSDN上有一张虚拟机和容器的对比图,很好的展示了虚拟机和容器的区别,如下所示,虚拟机包括应用程序.必需的库或二进制文件以及完整的来宾操作系统,每台虚拟机都有一个单独的内核,我们完全可以把虚拟机看做是一台真实的物理机.容器包括应用程序及其所有依赖项,与其他容器共享 OS 内核,容器在主机操作系统上作为独立进程运行,我们可以把容器看做是一个应用沙盒. 我们经常会遇到"我机器上可以运行"的问题吧,然后部署到其他机器时就遇到了
-
Linux CentOS下docker部署Asp.Net6 Core
1.项目设置 设置dockerfile属性为"始终复制", 修改dockerfile文件内容为: FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base WORKDIR /web COPY . . EXPOSE 80 EXPOSE 443 FROM base AS final ENTRYPOINT ["dotnet", "OneZhanMVC.dll"] ps:若项目没有dockerfile右键项目,点击
-
.Net Core部署Docker容器
阅读本文需要一定的docker基础知识. 前置工作 首先新建一个core项目,需要注意的是在这个界面最好勾选一下docker支持: 项目创建完成以后,你会在目录中发现Dockerfile. 你可以把它理解为docker的配置文件,docker通过读取它来创建镜像.如果新建项目的时候没有勾选docker支持不会自动生成,但也可以手动创建,影响不大. 接下来修改dockerfile的内容,像这样: //表示以microsoft/aspnetcore作为基础镜像进行新镜像的构建 FROM micros
-
k8s部署docker容器的实现
环境:(docker ,k8s集群),继续上次docker 启动的java程序的镜像为例(https://www.jb51.net/article/189462.htm) 将制作的镜像推送到docker的私有仓库 docker tag demo-img:latest localhost:5000/demo-img:1.0 docker push localhost:5000/demo-img:1.0 k8s部署该镜像k8s创建命名空间及secret 创建命名空间cl-test,这里名字根据自己的
-
使用Portainer部署Docker容器的项目实践
一.背景 最近在使用rancher2.5.5部署Redis主从复制的时候,发现rancher会产生很多iptables的规则,这些规则导致我们在部署了rancher的机器上无法使用Redis的主从复制功能,因为我对rancher和k8s的了解也仅限于了解网络架构和使用,对底层并不深入,短期内无法解决这个网络冲突的问题: 因此我将rancher管理docker的模式换成使用protainer的方式,这个portainer相对来说更加轻量级,在搭建过程中也使用了几个小时学习,现在讲整个过程尽量复原给
-
Docker容器服务编排利器详解
目录 一.使用Docker Compose必要性及定义 二.Docker Compose应用参考资料 三.Docker Compose应用最佳实践步骤 3.1 概念 3.2 步骤 四.Docker Compose安装 五.Docker Compose应用案例 5.1 网站文件准备 5.2 Dockerfile文件准备 5.3 Compose文件准备 5.4 使用docker-compose up启动容器 5.5 访问 一.使用Docker Compose必要性及定义 用容器运行一个服务,需要使用
-
.net 4.5部署到docker容器的完整步骤
前言 本文主要给大家介绍了关于.net 4.5部署到docker容器的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 .net4.5部署到docker容器 部署到windows容器 部署到linux容器 部署到windows容器 由于.net本身就是运行在windows平台的,所以它与windows容器也是更加适合,你可以以iis镜像为基础,去编写你的Dockerfile文件,从而去构建你的.net项目镜像. 1.两个现成的例子 .net console程序 docke
-
.Net项目在Docker容器中开发部署
.NET多年以前已经开始支持Docker,但由于国内.net现状,生产过程中几乎用不到docker支持,趁着有点时间捣鼓下. 先期工作 1.首先安装Docker Desktop 2.安装Visual Studio 创建项目 使用VS分别创建一个ASP.NET Core Api(WebApplication1)与 ASP.NET Core 应用(WebApplication2) 如果项目已经存在,可以选中项目,右键点击->选择添加Docker支持. 在弹出对话框中选择Linux. 项目支持dock
-
Docker容器harbor私有仓库部署和管理
目录 前言 一.Harbor概述 二.Harbor的特性 三.Harbor的构成 四.Harbor私有仓库搭建 (1)安装docker-compose (2)安装harbor (3)新建项目 (4)镜像推送 (5)从私有仓库下载镜像 (6)Harbor管理 前言 之前我们搭建了本地私有仓库,但是本地仓库的管理和使用比较麻烦,个原生的私有仓库并不好用,所以我们采用harbor私有仓库,也叫私服,更加人性化. 一.Harbor概述 Harbor是VMware公司开源的企业级Docker Regist
-
Docker容器使用jenkins部署web项目(总结)
(1)需要安装Docker容器,在Docker容器内安装jenkins,gogs,tomcat. 新建maven项目,添加findbugs plugin. 使用docker启动jenkins,gogs,Tomcat的命令gogs : 复制代码 代码如下: docker run -itd -p 10022:22 -p 10080:3000 --restart=always --privileged=true --name=gogs -v /var/gogs:/data gogs/gogs je
随机推荐
- vue+socket.io+express+mongodb 实现简易多房间在线群聊示例
- thinkPHP实现的验证码登录功能示例
- php验证手机号码(支持归属地查询及编码为UTF8)
- MongoDB的索引
- mysql5.7.19 winx64安装配置方法图文教程(win10)
- 详解Angularjs在控制器(controller.js)中使用过滤器($filter)格式化日期/时间实例
- Android中BaseActivity自定义标题栏
- 使用Python的Twisted框架实现一个简单的服务器
- 在asp.net中使用加密数据库联接字符串保证数据安全
- C++ 使用模板实现一个List的实例
- Linux使用文本编辑器vi常用命令
- 卖报和卖粥的学问 你在忙什么
- Jquery 全选反选实例代码
- XMLHttpRequest处理xml格式的返回数据(示例代码)
- JS实现可关闭的对联广告效果代码
- Java编程实现提取文章中关键字的方法
- Almp 安卓系统上搭建本地php服务器环境的步骤
- C#动态创建button的方法
- Android实现Toast提示框图文并存的方法
- 操作xml,将xml数据显示到treeview的C#代码