NetCore 2.0 应用程序在centos 7上通过docker发布
2017-11-11 13:04
891 查看
一 安装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加速
配置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 后面的路径,否则指不到正确的目录】
在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
配置docker加速
配置docker加速最快的方法直接修改
/etc/docker/daemon
.json下的配置信息
四 发布程序到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 后面的路径,否则指不到正确的目录】
相关文章推荐
- window10的docker发布netcore2.0
- .net Core 2.0应用程序发布到IIS上注意事项
- 通过Dockerfile创建Tomcat的CentOS镜像
- 通过Dockerfile创建支持SSH服务的CentOS镜像
- Ubuntu & GitLab CI & Docker & ASP.NET Core 2.0 自动化发布和部署(1)
- 通过数据库生成 JavaServer Faces 2.0 CRUD 应用程序(02)
- ios应用程序通过itms-services协议在本地服务器发布
- 数人云操作系统 2.0 发布 在企业实践中将 Docker 技术快速落地
- 虚拟化平台发布的应用程序必须通过RDP桌面登陆一次后才可访问
- [WSE]Web Service与Windows Service通过WSE2.0建立订阅/发布关系[更新版本]
- centos下,svn通过钩子同步发布到Apache访问目录时,禁止.svn的访问
- 【Dockerfile】CentOS6.x中Docker通过Dockerfile构建常用的基础环境 # 设置基本的镜像,后续命令都以这个镜像为基础 FROM centos # 作者信息 MAI
- 通过 itms-services 协议,发布或者分享 iOS 应用程序
- 通过Dockerfile创建支持SSH服务的CentOS镜像
- 通过Dockerfile创建支持SSH服务的CentOS镜像
- asp.net 2.0教程 应用程序的编写、编译及发布
- docker:(2)通过Dockerfile构建镜像并发布web项目
- CentOS 7下发布.net core 2.0 过程
- ASP.NET 2.0通过利用角色管理和成员关系构建安全的应用程序
- .netcore 使用surging框架发布到docker