docker发布.net6项目。制作发布的批量脚本,一键发布脚本 电脑版发表于:2021/6/22 17:52 docker 发布.net core项目可以参考:https://www.tnblog.net/aojiancc2/article/details/5030 docker发布.net6项目简单的dockerfile ``` FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base WORKDIR /app EXPOSE 80 COPY . . ENTRYPOINT ["dotnet", "NacosLearn.dll"] ``` ### 总结下步骤 发布步骤: tn2>发布-->上传-->进入项目上传目录-->编译成镜像-->创建挂载目录,初始化数据-->运行镜像 发布项目和上传这里就不说了很简单 **进入项目上传的目录:** 针对性进入自己项目的目录就行 ``` cd ~/fb/wy_jbland_docker ``` **编译成镜像:** ``` docker build -t wy_jbland_api:v1 . ``` **创建挂载目录** ``` mkdir ~/fb/wy_jbland_api_bindmounts_uploads ``` tn4>这里虽然不用创建创建目录,运行镜像的时候会自动创建,但是我们一般需要添加一点初始化数据,如果有需要可以先创建然后添加初始化数据 挂载相关的可以参考:https://www.tnblog.net/aojiancc2/article/details/7723 **运行镜像:** ``` docker run --name=wy_jbland_api_test \ -p 8666:8003 \ -v ~/fb/wy_jbland_api_bindmounts_uploads:/app/wwwroot/uploads \ wy_jbland_api:v1 ``` tn2>这里执行了一下挂载,把文件上传相关的目录挂载出来,因为项目随时有可能更新,容器会删除重建,如果不挂载目录出来,删除重建后数据就没有了。 下次我们重新发布的时候重新执行一下上面的步骤就行。创建挂载目录初始化数据就不需要了。所以我们可以弄一个批量脚本执行。 ### 弄一个发布的批量脚本 tn4>方便项目更新的时候直接运行脚本执行编译镜像,停止容器,运行容器等。虽然可以借助jenkins,或者git,gitee中的WebHook实现提交自动发布,但如果我们不用这些就可以自己写点简单的脚本,简化工作,其实jenkins这些也是帮我们自动执行脚本而已,我们自己弄一个脚本,然后弄个gitee的钩子也可以实现一个简单的提交自动发布。 ##### 创建一个.sh后缀的名字 ``` vi wy_jbland_api.sh ``` ##### 添加以下内容 ``` #!/bin/bash echo "切换到项目目录" cd ~/fb/wy_jbland_docker echo "开始打包镜像" docker build -t wy_jbland_api:v1 . echo "开始停止与删除容器" docker stop wy_jbland_api docker rm wy_jbland_api echo "开始运行镜像" docker run --name=wy_jbland_api \ -p 8003:8003 \ -v ~/fb/wy_jbland_api_bindmounts_uploads:/app/wwwroot/uploads \ wy_jbland_api:v1 echo "批量脚本执行完成" ``` 端口映射,路径,容器名称这些根据实际情况调整即可。 ##### 然后执行脚本即可 ``` sh wy_jbland_api.sh ``` 运行效果如图: ![](https://img.tnblog.net/arcimg/aojiancc2/251f23a6e9bc4347ae236113b6f2e4b0.png)