Docker 部署后端接口
Docker 部署后端接口
第一步
生成Dockerfile
右键项目
选择Docker支持
选择Linux
完成后,在项目中就生成了一个Docker file(注意:如果项目有新类库或者新项目的添加,需要重新生成dockerfile 或者在dockerfile中添加相应的scproj路径信息)
第二步
检查Dockerfile
首先检查Dockerfile 一个正确的Dockerfile 如下图
一个dockerfile分为4个阶段,基础(base),创建(build),发布(pubilsh),最终(final)
项目一般只关心创建阶段,其余阶段使用默认的即可
Build 阶段中会将所有的项目根据scproj 文件将项目进行打包,所以在生成镜像时要选择正确的路径执行Docker build 命令
生成的dockerfile 默认的csproj路径如下
建议将Dockerfile 复制到 sln 文件同级目录,这样不用更改dockerfile 就可以直接将项目打包至镜像
生成镜像
Sln 文件夹内右键打开终端
执行命令(linux系统注意dockerfile的文件名大小写必须保持一致,镜像名不能大写)
docker build -f ./DockerFile -t webapi:v1 .
执行镜像构建命令(命令最后有一个点号,代表当前目录下的所有文件)
时间可能会有点长,正在进行打包
构建成功如下图
命令执行完成后,查看镜像
执行命令
docker images
运行项目(生成容器)
配置文件
首先查看自己的配置文件目录,我的目录为一下路径(将\全部替换成/)
D:\工作\NK5.0\NK5.0\config\ 替换后 D:/工作/NK5.0/NK5.0/config/
执行以下命令
docker run -v D:/工作/NK5.0/NK5.0/config/:/config/ -p 8032:80 webapi:v1
命令解析
-v 文件映射
-v 本地绝对路径:Docker 内部路径
-p 端口映射
-p 外部端口:Docker 内部端口
成功后出现以下,如果报错请检查配置文件映射的路径是否正确
然后打开接口看一下,一般正式环境是不会存在swagger的,可以通过接口调试工具去链接Docker容器中的接口来测试接口是否正常运作