docker~不使用yml批量部署服务

有时,我们在进行持续集成环境有时,有时yml环境是没有的,它可能只提供了docker工具,而docker-compose这个大家伙可能不被提供,而这样我们如果希望自动化构建解决方案下所有的项目,就需要写sh脚本了,需要把需要打包,发布,镜像的项目写到咱们的数组里,然后去遍历它!

一 批量还原和发布项目

#!/bin/sh

# 声明需要发布的项目
declare -a projectList=(
   '../Beijing.Tax'
   '../Jiangsu.Tax'
)

# 恢复包依赖与发布
for project in "${projectList[@]}"
do
    echo -e "\e[33mWorking on $(pwd)/$project"
    echo -e "\e[33m\tRemoving old publish output"
    pushd $(pwd)/$project
    rm -rf obj/Docker/publish
    echo -e "\e[33m\tRestoring project"
    dotnet restore
    echo -e "\e[33m\tBuilding and publishing projects"
    dotnet publish -o obj/Docker/publish
    popd
done

二 批量生成镜像

#!/bin/sh
export Registry_Url="ciregistry.i-counting.cn:8443"

# 声明需要发布的项目
declare -a projectList=(
    '../Beijing.Tax,lind/bejing.tax'
    '../Jiangsu.Tax,lind/jiangsu.tax'
)

for project in "${projectList[@]}"
do
arr=(${project//,/ })
dir=${arr[0]}
image=${arr[1]}
echo "dir"
echo $dir
pushd $(pwd)/$dir
docker build --no-cache --pull -t $image ./
docker tag $image $Registry_Url/$image
#docker push $Registry_Url/$image
done

然后我们可以通过docker images "lind/*"来查看所有以lind开头的镜像文件

一般地,我们的脚本都放在解决方案的根目录,建立一个deploy,把自动化脚本放进去就行了

感谢各位的阅读!

有时,达到一种目的的方式可能是多种多样的,选择适合我们的一种就可以了!

本文转自博客园张占岭(仓储大叔)的博客,原文链接:docker~不使用yml批量部署服务,如需转载请自行联系原博主。

时间: 2024-10-09 07:35:38

docker~不使用yml批量部署服务的相关文章

基于Docker & Fabric的Web项目部署方案

本文描述了Web项目的两种部署方案,石器时代的ssh & pull & restart方式不做太多说明 1.基于Fabric(Python)的部署方案 Fabric 是一个用于ssh的Python库&命令行工具 Fabric is a Python (2.5-2.7) library and command-line tool for streamlining the use of SSH for application deployment or systems administ

基于Docker的应用负载均衡与服务发现

基于Docker的应用负载均衡与服务发现 概述 现在微服务架构越来越流行,阿里云容器服务对于微服务架构提供了很好的支撑,平台提供了便利的服务注册与发现机制,内置的服务负载均衡与路由功能,以及灵活的模板编排.全生命周期管理. 对于Web应用,下图是阿里云容器服务对弹性高可用Web应用负载均衡及路由支持的一种形式: 阿里云容器路由服务 假如你有一个Web应用需要运行多个实例,并对外提供服务.可以配置docker compose模板如下(以Java应用的Tomcat+Mysql为例), 这里通过Doc

使用Docker、CoreOS、Mesos部署可扩展的Web应用

使用Docker.CoreOS.Mesos部署可扩展的Web应用 [编者的话]本文作者重点介绍了如何使用Docker.CoreOS.Mesos.Vulcand.对象存储来部署一个可扩展的Web应用,他首先介绍了 为什么要选择这些工具以及与其它工具相比这些工具的优势.紧接着,他通过实际案例演示了整个部署过程,图文并茂,推荐阅读. 介绍 让我们先来讨论一下为什么我决定使用这些软件来展示如何创建一个可扩展的Web基础架构. 为什么选择Docker? 那问题来了,为啥要选择Linux容器?因为相比于虚拟

“云上应用Docker化持续交付与微服务实践“笔记

Docker介绍 30%故障原因是配置漂移? 50%用户希望通过容器技术实现上云? Docker发展背景:云计算,微服务架构,Devops 编排 Docker Compose弱点:管部署不管运维 Docker Swamp, Multiple Docker Engine. CAAS Containers as a Service(CaaS) Build -〉 SHIP -〉RUN 持续集成,持续测试,持续运维 效果:只关心容器自身就好 CaaS完善PaaS层? 定义软件交付模式,提供了容器标准化方

Docker —— 用于统一开发和部署的轻量级 Linux 容器 【已翻译100%】

使用Docker容器--轻量灵活的VM同类,来接管"依赖地狱".学习Docker是如何基于LXC技术,通过把应用包装在容器里来使应用具有移植性和独立性. 想象一下可以轻松地把应用和它的依赖打包,然后在其他的开发.测试和生产环境上平滑的运行.这就是开源Docker项目的目标.尽管它现在还没正式到生产阶段,最新的发布(本篇文章编写时是0.7.x)使得Docker实现这一伟大目标又近了一步. Docker容器试图解决"依赖地狱"问题.现代的应用通常从已存在的组件组合而来,

Windows Server 2008部署服务(WDS)全攻略

过去,对于单机或者少数几台电脑而言,安装以及备份操作系统的话,用传统的Ghost等工具即可 轻松搞定.然而,在信息化大潮波涛汹涌的今天,一个企业拥有几百台甚至 上千台PC或者服务器是再正常 不过的事情,面对这么多的机器,要在短时间内进行操作系统部署假如再用Ghost工具,显然已经力不从心,单单是每台机器完成克隆之后的常规任务--设置IP.机器名.加入域.安装打印机等工作耗时即难以想象. 还好,今天我们拥有了WDS工具,这一切,将变得像对单机Ghost一样简单省时.通过WDS我们可以轻松地为客户端

Spring Boot与Docker(一):微服务架构和容器化概述

本文讲的是Spring Boot与Docker(一):微服务架构和容器化概述,[编者的话]本篇是<使用Spring Boot和Docker构建微服务架构>系列四部曲的第一篇,本篇将会对我们谈及的微服务架构以及容器化概念作一个概述.原文作者为3Pillar环球旗下美国Adbanced技术集团的总监Dan Greene,Dan有十八年的软件设计和开发经验,包括在电子商务.B2B集成.空间分析.SOA架构.大数据以及云计算等领域的软件产品架构经验,他是AWS认证解决方案架构师,在3Pillar之前先

Docker —— 用于统一开发和部署的轻量级 Linux 容器【转】

转自:http://www.oschina.net/translate/docker-lightweight-linux-containers-consistent-development-and-deployment 英文原文:Docker: Lightweight Linux Containers for Consistent Development and Deployment 使用Docker容器--轻量灵活的VM同类,来接管"依赖地狱".学习Docker是如何基于LXC技术,

weblogic部署服务,c3po+hibernate应用,程序跑一段时间后内存溢出

问题描述 weblogic部署服务,c3po+hibernate应用,程序跑一段时间后内存溢出 Exception in thread "C3P0PooledConnectionPoolManager-Helper Thread-#0" java.lang.OutOfMemoryError: Java heap space at oracle.jdbc.driver.OracleStatement.prepareAccessors(OracleStatement.java:870) a