NetCore 2.0 应用程序在centos 7上通过docker发布
一 安装netcore 2.0 SDK
在centos 上面安装netcore 2.0 与window上面是不太一样的,注意,linux是不支持同时安装两个版本的.netcore SDK的,由于我之前开发过netcore 1.04 的,现在需要升级到2.0的SDK
那如何升级。
1.找到当前的安装路径:
2.安装.netcore 2.0
在这边找到你要安装的对应的包:https://www.microsoft.com/net/download/linux
打开 yum instructions 链接:
我选择不升级内核,直接安装sdk 所以只需要执行框中的两行命令
安装完后,我们会发现:netcore 2.0 sdk 安装在usr/share/dotnet/dotnet
创建软链接:
如果之前存在,那么可以执行 ln -s -f souredir lindir
再次检查dotnet 版本:
好了,版本是我们要的版本了。
二 测试本机发布
上传dotnet publish后的发布文件到centos中,可以使用
测试本机发布:dotnet UIclub.Web.dll
我这里是由于程序已经发布到docker中跑起来了,占用的端口的原因
三 安装DOCKER
#安装Docker
yum
install
docker
#启动docker服务
systemctl start docker.service
#配置开机启动
systemctl
enable
docker.service
配置docker加速
配置docker加速最快的方法直接修改/etc/docker/daemon
.json下的配置信息
/etc/docker/daemon
.json
{
}
然后在终端重启docker服务
sudo
systemctl daemon-reload
sudo
systemctl restart docker
四 发布程序到docker中
1.拉取发布的基本镜像
docker pull docker.io/microsoft/dotnet:[tag] 拉取最新的镜像,如果你是要旧版本的镜像,可以填写相应的tag
docker images
2.配置Dockerfile
按esc :wq保存退出
docker build -t demo:1.0 . -->注意:最后有个点 表示当前路径
docker run -d -p 8000:8000 demo:1.0 运行容器
查看运行的容器,正常跑起来的时候应该有一个正在运行的容器
docker ps
五.测试
至此,发布成功。
补充:
项目后期发布后遇到一个附件上传的问题,比如,创建容器后,附件是之前传到容器中的某个目录的,但是这样就会导致万一容器销毁或者机器重启后,上传的文件都丢失的问题,那么就需要解决这个问题
docker volume 技术就需要用上了,能过阅读了Docker的官方开发文档后了解到【https://docs.docker.com/engine/admin/volumes/volumes/】可以挂载相应的主机host目录到容器某个目录下,实现 所谓的容器与主机文件的读写共享。
1.直接通过DockerFile来配置挂载点,通过这种方式实现的时候,不能直接指定具体的主机挂载目录,docker会自动生成一个文件夹的映射目录,这个不推荐
2.docker run -d -p 8000/8000 -v /test:/publish/wwwroot/upload demo:1.0 来实现 【注意,Docker 其实是一个微的VM,要特别注意这里的 -v 后面的路径,否则指不到正确的目录】
NetCore 2.0 应用程序在centos 7上通过docker发布的更多相关文章
- 在Centos 7上安装Docker
在Centos 7上安装Docker 1.docker介绍 docker是类似于vmware的虚拟化软件,可以开发.容纳.运行应用程序的平台,在容器中安全的隔离运行应用程序. 2.Docker引擎 D ...
- 在centos7.6上部署.netcore 3.0 web程序
首先需要一个全新的centos系统. 第一步:按照微软官方文档配置.netcore环境: https://dotnet.microsoft.com/download/linux-package-man ...
- Install Docker Engine on CentOS 在CentOS 7 上安装Docker
Install Docker Engine on CentOS OS Requirements 系统要求 To install Docker Engine,you need a maintained ...
- 【docker】linux系统centOS 7上安装docker
要求: 一个centOS 7系统 虚拟就上安装CentOS 7步骤 本文操作在本机上使用xshell连接虚拟机上的centOS 7进行操作 1.Docker 要求 CentOS 系统的内核版本高于 ...
- 在CentOS 7上搭建Docker环境
Preface We commonly use VMware or VirtualBox to install our Virtual Machines before.For the ...
- 在CentOS 7 上使用Docker 运行.NetCore项目
安装Docker CentOS 7 安装 Docker 编写Dockerfile 右键项目->添加->Docker 支持 选择Linux 修改为如下: FROM mcr.microsoft ...
- CentOS 7上搭建Docker环境
一.Docker介绍和安装 http://linux.cn/article-4340-1.html Docker 是一个开源工具,它可以让创建和管理 Linux 容器变得简单.容器就像是轻量级的虚拟机 ...
- 在CentOS 7 上安装docker
Docker CE Install yum-utils, which provides the yum-config-manager utility: $ sudo yum install -y yu ...
- 如何在 CentOS 7 上安装 Docker
Docker 是一个开源工具,它可以让创建和管理 Linux 容器变得简单.容器就像是轻量级的虚拟机,并且可以以毫秒级的速度来启动或停止.Docker 帮助系统管理员和程序员在容器中开发应用程序,并且 ...
随机推荐
- Strut2 Action的生命周期
一般而言,Action都是放在Spring容器中管理的,我会把属性设为prototype,这样,每一个请求,都会创建一个action对象. 今天碰到一个问题,当我用从一个jsp页面中输入一个属性,比如 ...
- mitmproxy抓包软件在mac上边的安装
官网介绍:mitmproxy is a free and open source interactive HTTPS proxy. mitmproxy 是用 Python 和 C 开发的一个中间人代理 ...
- Jquery ajax中表单提交被拦截的问题处理方法
在实际开发项目中,由于要做支付宝的批量退款处理,需要用到ajax中去提交表单数据,项目截图如下: 由于在第二张截图“确认退款”那里需要异步ajax提交数据到服务器处理信息,处理成功后将返回的数据装载到 ...
- MySQL开启skip-name-resolve和skip-networking优化
使用skip-name-resolve增加远程连接速度 skip-name-resolve 该选项表示禁用DNS解析,属于官方一个系统上的特殊设定不管,链接的的方式是经过hosts或是IP的模式,他都 ...
- shell函数的使用
shell函数的使用比较简单,要点包括定义.参数来源.返回值: 在shell函数里,结合read命令,可以实现在执行脚本的过程中让用户选择参数,增强脚本的交互性: 脚本参数在脚本名称后面输入,函数参数 ...
- sqlserver 查询某表的所有列名
select name + ',' from syscolumns where id = object_id('SEND_TALLY') AND name <> 'PICDATAS'
- LeetCode House Robber 家庭劫犯(dp)
题意:有一个整数序列,从中挑出一些数字,使得总和是最大,前提是,相邻的两个数字中只能挑其一.比如1 2 3 就只能挑2或者1和3. 思路:很直观的题,dp思想.降低规模,从小规模开始考虑.如果只有两个 ...
- C#链接mysql 新手容易出错的问题
1.Access denied for user 'root'@'DESKTOP-AN72KEI' (using password: YES) 出现这个问题的原因是因为mysql的自带用户root理论 ...
- Android(java)学习笔记126:判断SD卡状态和SD卡容量
1. 判断SD卡状态和SD卡存储空间大小 当我们在使用SD卡时候,如果我们想往SD卡里读写数据,我们必须在这之前进行一个逻辑判断,那就是判断SD卡状态和SD存储空间大小: 核心代码: String s ...
- 关于List的remove方法我遇到的坑
结果是下标越界异常,原因是remove方法的参数不是value,而是index 唉~~~ 年少轻狂啊