Azure 实践(3)- Azure Devops构建.netcore项目,打包Docker镜像+运行容器部署
2021-09-14 23:18
661 查看
前提:上篇文章中,已创建项目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 Devops实践(5)- 构建springboot项目打包docker镜像及容器化部署
- SpringBoot+Docker实现项目的Maven打包&镜像构建&容器中运行==简单自动化部署
- Azure 实践(4)- CI/CD .netcore项目Docker构建及部署
- 详解如何使用Docker部署一个web项目并打包成镜像文件
- 使用Ant构建web项目 从编译到测试 生成测试报告 打包 邮件发送 远程下载tomcat 部署运行一条龙服务之ant脚本...
- Java SpringBoot 项目构建 Docker 镜像调优实践
- 将web项目部署到Docker基于tomcat镜像启动的容器中
- Docker部署jar包(SpringBoot项目容器运行)
- 基于docker官方 tomcat镜像容器部署JAVA web项目
- 利用docker-maven-plugin打包java项目并构建镜像报错[ERROR] Failed to execute goal com.spotify:docker-maven-plugin
- 【容器技术】Docker镜像 + nginx 部署Vue项目
- 从零开始通过idea插件将一个spring boot项目部署到docker容器里运行
- 如何打包创建镜像和运行Docker容器及常用命令
- 【Azure DevOps系列】如何在Azure DevOps上构建Docker镜像(一)
- 第一个SpringBoot web 应用使用maven构建Docker镜像并容器化运行
- Docker部署运行SpringBoot项目,使用Dockerfile创建镜像
- docker 将正在运行的容器打包为镜像
- 将springboot jar应用打包成镜像并在docker运行成容器
- docker实战1 (docker-toolbox的安装,docker基础命令详解[运行,容器导入/导出,镜像导入/导出,数据卷,网络],构建100个docker实例的测试环境)
- 将.NET Core编写的数据可视化项目打包成Docker镜像,实现容器化部署