#docker#
折腾了很久,终于使用docker成功发布了一个.net 6的web项目(成为项目P),并且带有文件配置,数据库配置等。
---
要点记录:
1. 首先本机windows开发机器,项目可以启动成功, 基于 .net 6,使用了mysql 和 sqlite,本开发机器姑且成为机器A。 现证明了这个项目正常,数据库等正常。
2. A机器上装了Vmware workstation,里面装了一个CentOS 7, 这个我称之为B。
B里面现后装了.net sdk, nginx之类的,然后把A机器上通过visual studio 生成的发布文件copy到B机器的特定位置,使用 dotnet myProject.dll ,成功启动,数据库等正常。从A机器可以访问到(使用了ng的反向代理配置)。
证明此B机器上可以正常部署此.net6项目。
3. 在B机器里安装了docker,docker正常,且版本较新。
3.1 在A机器里,visual studio中添加Docker支持,产生docker文件。
3.2 将Dockerfile文件以及项目其他文件,都加入版本管理,如git,并push。
3.3 在B机器中pull此项目的代码,使用命令产生镜像(最后的.很重要)。
如:docker build -t xj-web:latest .
3.4 B机器中,docker images查看,能看到。
3.5 启动(注意自己判断好项目启动后使用了什么端口):
如: docker run -p 4080:80 xj-web:latest
就能在docker中成功启动此项目,并且数据库等正常,并且可以从A机器访问到。
ps: 在A机器里,可将项目中必要的文件设置为需要输出--属性--复制到输出目录,以防漏掉某些文件。