TNBLOG
首页
博客
视频
资源
问答
猿趣
手机
关于
搜索
收藏
便签
笔记
消息
创作
登录
剑轩
故如虹,知恩;故如月,知明
博主信息
排名
6
文章
6
粉丝
16
评论
8
文章类别
CSS
15篇
微服务
41篇
Git
14篇
.NET
102篇
移动开发
33篇
软件架构
23篇
.NET Core
118篇
.NET MVC
11篇
英语
3篇
随笔
86篇
Bootstrap
3篇
Redis
21篇
编辑器
10篇
Js相关
15篇
虚拟化
8篇
更多
Oracle
7篇
Python
14篇
数据库
26篇
EF
17篇
微信
3篇
前端
151篇
消息队列
6篇
docker
41篇
多线程
1篇
Java
4篇
软件基础
2篇
C++
2篇
WCF
7篇
Linux
7篇
nginx
5篇
K8S
9篇
ABP
2篇
最新文章
最新评价
{{item.articleTitle}}
{{item.blogName}}
:
{{item.content}}
关于我们
ICP备案 :
渝ICP备18016597号-1
网站信息:
2018-2024
TNBLOG.NET
技术交流:
群号656732739
联系我们:
contact@tnblog.net
欢迎加群
欢迎加群交流技术
原
docker发布.net6项目。制作发布的批量脚本,一键发布脚本
1967
人阅读
2021/6/22 17:52
总访问:
3842469
评论:
0
收藏:
0
手机
分类:
docker
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)
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739
👈{{preArticle.title}}
👉{{nextArticle.title}}
评价
{{titleitem}}
{{titleitem}}
{{item.content}}
{{titleitem}}
{{titleitem}}
{{item.content}}