在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
一、系统环境1、腾讯云轻量应用服务器CentOS7.6 二、操作流程及途中遇到的问题1、SSH方式远程Linux
如果遇到下图问题: 出现这个问题的原因:known_hosts是记录远程主机的公钥的文件,之前重装个系统,而保存的公钥还是未重装系统的系统公钥,在ssh链接的时候首先会验证公钥,如果公钥不对,那么就会报错 然后重新使用ssh方式远程Linux:
2、更新系统
3、安装Git
4、安装Nginx,启用和启动服务:
5、安装Dotnet SDK 每台计算机只需要执行一次此操作。
6、安装Docker环境 1)安装Docker源: 首先,我们可以先执行下卸载命令,如果你之前安装过,或者系统自带了,需要卸载干净:
然后我们就可以安装指定的源了,有官方版本和阿里云版本,我这里尝试使用阿里云版本的吧,听说会快一些。
Step 2: 添加软件源信息
Step 3: 更新并安装Docker-CE
Step 4: 开启Docker服务
设置docker开机启动
启动docker
查看版本
Docker常用命令 查看所有镜像 docker images
删除所有镜像
查看所有容器运行状态
删除一个containerid的容器(实例)
删除所有容器
2)测试Hello World 检查docker是否可以正常运行(运行hello-world镜像,如果本机没有hello-world镜像,系统会自动拉取hello-world镜像)
这个时候,我们可以来检查一下:
那如何查看有哪些容器呢:
这个就是刚刚我们看到有输出内容的容器:容器ID是eb180038a3ce,镜像是hello-world,状态是已退出。 7、发布自己的镜像 1)添加Docker支持: 自定义项目要暴露的接口 在Api层右键添加Docker支持,选择Linux 更改Dockerfile文件 FROM:意思是我们的项目源镜像是哪个; 2个脚本文件:Docker.Core.Publish.Linux.sh和Docker.Core.Publish.Docker.sh
Dockerfile:然后右键,始终属性、始终复制到输出(bin)目录 2)发布 我们在服务器用Git将代码PULL下来,然后执行发布命令,我用一个批处理文件,直接一键生成(主要是防止漏掉文件): 执行发布命令: 就可以看到生成好的发布文件夹PublishFiles。 3)创建镜像 进入到我们的发布文件夹PublishFiles文件夹下,我们测试一下这个文件是否正常:
没问题后,开始build了,还是在当前文件夹下(记得那个点):
其中lenceas/apkimg是我们的镜像名。 这里多了两个镜像,一个是我们的镜像ID为48252cd5c2d0,大小209M的项目文件,一个是我们Dockerfile的源镜像。 4)推送镜像到Docker hub仓库 第一步:在Docker hub注册账号 第三步:服务器镜像推送 推送:
检查: 可以看到已经成功推送了,这样的话,我们就可以在任何的地方使用我的镜像啦。 8、生成并运行容器 1)生成容器 有了镜像,我们来生成一个容器:
会看到输出内容,如果没有报错的话,就恭喜啦,退出当前进程,查看下有哪些容器: 这时候可以看到多了一个容器ID为e45b93658007,镜像是lenceas/apkimg的容器,不过我们的项目容器是退出状态,需要开启下:
状态已经是运行中了,那怎么测试接口是否正常了呢,可以用curl命令: 如果到了这里,恭喜你,Docker部署NetCore基本已经搞定了 9、Nginx代理服务 修改nginx.conf文件,两种方式: 接下来就是重启Nginx服务,首先可以检测语法错误:
以上就是Linux Docker 部署 ASP.NET Core应用的详细内容,更多关于Docker 部署 ASP.NET Core应用的资料请关注极客世界其它相关文章! |
请发表评论