应无所住,而生其心
排名
1
文章
860
粉丝
112
评论
163
net core webapi post传递参数
庸人 : 确实坑哈,我也是下班好了好几次,发现后台传递对象是可以的,但...
百度编辑器自定义模板
庸人 : 我建议换个编辑器,因为现在百度富文本已经停止维护了,用tinymec...
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

docker发布.net6项目。制作发布的批量脚本,一键发布脚本

4147人阅读 2021/6/22 17:52 总访问:5182530 评论:0 收藏:0 手机
分类: docker

docker 发布.net core项目可以参考:https://www.tnblog.net/aojiancc2/article/details/5030

docker发布.net6项目简单的dockerfile

  1. FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
  2. WORKDIR /app
  3. EXPOSE 80
  4. COPY . .
  5. ENTRYPOINT ["dotnet", "NacosLearn.dll"]

总结下步骤

发布步骤:


发布—>上传—>进入项目上传目录—>编译成镜像—>创建挂载目录,初始化数据—>运行镜像

发布项目和上传这里就不说了很简单

进入项目上传的目录:
针对性进入自己项目的目录就行

  1. cd ~/fb/wy_jbland_docker

编译成镜像:

  1. docker build -t wy_jbland_api:v1 .

创建挂载目录

  1. mkdir ~/fb/wy_jbland_api_bindmounts_uploads


这里虽然不用创建创建目录,运行镜像的时候会自动创建,但是我们一般需要添加一点初始化数据,如果有需要可以先创建然后添加初始化数据

挂载相关的可以参考:https://www.tnblog.net/aojiancc2/article/details/7723

运行镜像:

  1. docker run --name=wy_jbland_api_test \
  2. -p 8666:8003 \
  3. -v ~/fb/wy_jbland_api_bindmounts_uploads:/app/wwwroot/uploads \
  4. wy_jbland_api:v1


这里执行了一下挂载,把文件上传相关的目录挂载出来,因为项目随时有可能更新,容器会删除重建,如果不挂载目录出来,删除重建后数据就没有了。

下次我们重新发布的时候重新执行一下上面的步骤就行。创建挂载目录初始化数据就不需要了。所以我们可以弄一个批量脚本执行。

弄一个发布的批量脚本


方便项目更新的时候直接运行脚本执行编译镜像,停止容器,运行容器等。虽然可以借助jenkins,或者git,gitee中的WebHook实现提交自动发布,但如果我们不用这些就可以自己写点简单的脚本,简化工作,其实jenkins这些也是帮我们自动执行脚本而已,我们自己弄一个脚本,然后弄个gitee的钩子也可以实现一个简单的提交自动发布。

创建一个.sh后缀的名字
  1. vi wy_jbland_api.sh
添加以下内容
  1. #!/bin/bash
  2. echo "切换到项目目录"
  3. cd ~/fb/wy_jbland_docker
  4. echo "开始打包镜像"
  5. docker build -t wy_jbland_api:v1 .
  6. echo "开始停止与删除容器"
  7. docker stop wy_jbland_api
  8. docker rm wy_jbland_api
  9. echo "开始运行镜像"
  10. docker run --name=wy_jbland_api \
  11. -p 8003:8003 \
  12. -v ~/fb/wy_jbland_api_bindmounts_uploads:/app/wwwroot/uploads \
  13. wy_jbland_api:v1
  14. echo "批量脚本执行完成"

端口映射,路径,容器名称这些根据实际情况调整即可。

然后执行脚本即可
  1. sh wy_jbland_api.sh

运行效果如图:


欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)

评价

window7 docker启动失败 error: Failed to create the VirtualBox objectVirtualBox com对象失败

docker启动失败 报错 error: Failed to create the VirtualBox object这个错是因为:virtuelbox 无法启动,所以启动之后会...

docker启动报错 No default Boot2docker ISO found locally downloading the latest

这是因为,启动时如果检测到没有 Boot2Docker,就会去下载,这个下载过程出现网络连接上的错误了,导致启动失败。可以去下...

docker常用命令删除镜像命令进入容器、docker重启命令等

1. docker version查看 Docker 版本信息2. docker info显示 Docker 系统信息,包括镜像,容器数等3. 运行容器第一次使用:d...

docker 二次启动失败(本人这里使用的是hyper-v)

fatal: failed to start daemon: Error initializing network controller: Error creating default network: hnsCall faile...

docker中Sware集群与service

swarm 总结:1,docker中使用swarm集群可以达到多任务分配到不同的节点进行处理,如果有空闲的docker机子将会把请求的处理...

.netcore 使用分布式缓存(docker+redis)

1. 通过docker创建 Redis执行命令:dockerrun--nameasp-redis-p6379:6379-dredis查看redis状态:dockerps可以发现alreadywo...

.net core3.0在Ubuntu 16.04上面的部署(Supervisor+nginx)(扩展docker)

前 言Linux 随着Linux越来越流行,本人一个.net程序员也多次研究linux与.net的相关产品,以及中间件的使用方式。So今天给...

docker 下载 mcr.microsoft.com/dotnet/core/sdk:3.1 老不行

请将其修改为:mcr.azk8s.cn/dotnet/core/sdk:3.1

docker常用命令

Docker简单命令整理清单[TOC] Login 获取账户信息获取账户信息 docker info | sed '/Username:/!d;s/.* //' ...

windows安装docker

win7、win8 等需要利用 docker toolbox 来安装,国内可以使用阿里云的镜像来下载,下载地址:http://mirrors.aliyun.com/do...

Linux 安装Web版Vscode(docker+Local)

Linux 安装Web版Vscode(Docker+Local)[TOC] code-server 介绍 在任何地方的任何机器上运行VS代码,并在浏览器中访问它...

docker运行 Elasticsearch Kibana和Cerebro

Docker运行 Elasticsearch Kibana和Cerebro[TOC] Demo 运行 Docker-compose,本地构建更高效的开发环境,更直观地了解 El...

docker部署简单的mysql

Docker部署简单的mysql[TOC] 首先这玩意我是真不想写,网上写的太多了,但是又没有找到快速的创建方式。so…有疑问都可...

Unable to get the local Boot2docker ISO version: Did not find prefix "-v" in version string

我已经从 github 上下载 v19.03.12 的镜像到 vps 然后拖回本地放在 C:\Users\Administrator.docker\machine\cache 下了。依...

docker容器和镜像的区别

下面这两个比喻说得比较好 镜像就类似操作系统光盘介质,容器相当于通过光盘安装后的系统。通过光盘(镜像),我们能在不同...