首页 > Web开发 > 详细

Azure 实践(3)- Azure Devops构建.netcore项目,打包Docker镜像+运行容器部署

时间:2021-09-16 12:12:35      阅读:33      评论:0      收藏:0      [点我收藏+]

前提:上篇文章中,已创建项目TestXujk,本篇详细讲述devops操作

1、在项目设置中,创建源代码git服务连接

技术分享图片
技术分享图片

  • 点击“新建服务连接”,新建源代码git托管仓库连接,我这里使用的是gitee,所以这里选“其他Git”
    技术分享图片
    技术分享图片
  • 点击保存,即可创建连接
    技术分享图片

2、点击管道,创建管道

技术分享图片

  • 第一步,选择你的代码仓库
    技术分享图片
    技术分享图片
  • 选择管道模板,我们打算用docker部署应用,这里我们选:Docker容器,点:应用
    技术分享图片
    技术分享图片
  • 设置dockerfile的文件路径,容器注册表类型,随便选一个即可
    技术分享图片
    技术分享图片
  • 后面推送镜像(Push an image)操作,先不操作(没有镜像仓库可推),执行一下管道,看能否生成镜像文件

3、执行一下管道,看能否生成镜像文件

技术分享图片

发生错误1:发现代理机上,源代码路径没有Dockerfile文件,继续提交源代码

技术分享图片
技术分享图片

发生错误2:
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock:
原因:Ubuntu系统中,执行docker命令,需要添加sudo
参考url:https://blog.csdn.net/u011337602/article/details/104541261,执行相关命令,可以取消sudo操作
通过将用户添加到docker用户组可以将sudo去掉,命令如下
sudo groupadd docker #添加docker用户组 
sudo gpasswd -a $USER docker #将登陆用户加入到docker用户组中 
newgrp docker #更新用户组

技术分享图片

备注:一定要重新启动ubuntu虚拟机才管用
还有一种方法:在安装代理服务的时候,启用如下命令安装,不推荐
sudo ./svc.sh install root
再次运行管道,构建镜像成功

技术分享图片

备注:Push命令不用管,因为没有配置镜像服务器信息

技术分享图片

4、构建前,添加:命令行 操作,删除已存在镜像

技术分享图片

运行管道,发现以前存在的镜像被删除,新建了一个新版本的镜像

技术分享图片

参考命令行
currimages=$(docker images -a |  grep "coreapp3"  | awk ‘{print $3}‘)
if [ "${currimages}" != "" ]; then 
   docker rmi -f $(docker images -a |  grep "coreapp3"  | awk ‘{print $3}‘)
fi

5、运行命令行,部署运行容器

说明:我们这里只演示下部署步骤,也在代理池的虚拟机中,实际上,一般代理池虚拟机构建完程序,构建镜像后,先推送到镜像服务器,然后在发布的环节中,通过SSH方式连接应用服务器主机,拉取镜像,然后进行运行部署
  • 修改管道配置,添加任务-命令行任务
    技术分享图片
  • 然后我们编写脚本,创建应用,脚本参考如下:
      #!/bin/bash
      name="netcoreapp01"
      cid=`docker inspect --format ‘{{.Id}}‘ ${name} 2>/dev/null`
      if [[ ${#cid} -gt 0 ]]; then
         docker stop $name
         docker rm $name
         echo "successed deleted container ${name}"
      fi
    
      docker run -it -d -p 8002:80 --name netcoreapp01 --privileged=true 			coreapp3:$(Build.BuildId)
      docker logs netcoreapp01
    
    脚本说明:查找容器名为netcoreapp01的应用,如果存在,则停止应用,删除应用;然后通过docker run命令重新创建应用容器
  • 运行管道,发现部署可以成功
    技术分享图片
  • 进入虚拟机,查看程序运行状态:
    技术分享图片
  • 通过http://ip:8002 地址进行访问
    技术分享图片

Azure 实践(3)- Azure Devops构建.netcore项目,打包Docker镜像+运行容器部署

原文:https://www.cnblogs.com/kunwn/p/15212912.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!