docker高级应用之镜像打包与节点推送

目前我这里使用docker做caas平台,主要是解决:

1、运维沙箱环境测试;

2、研发半自动化代码部署与回滚;

3、集群化应用与auto scale。

目前这3点都实现,但在第2点与第3点联系的时候有个问题。在第2里,研发测试成功的代码会被打包为一个images,放入私有库,然后第3部集群更新的时候,会选择这个成功版本的镜像,但在更新中,由于每个节点都需要从私有库里获取镜像,这样节点越多更新越慢,所以为了解决这个问题,我这里在第二步研发打包image之后,会进行一下所有节点推送,这样在进行集群更新的时候,会很快了。

下面是我进行代码自动打包为镜像与镜像全节点推送的操作过程。

1、代码自动打包为镜像

主要是在容器所在宿主机里运行下面命令

docker commit --pause=false  container_name image_name:image_tag &>>/dev/null && docker push image_repo/image_name:image_tag &>>/dev/null && echo 0 || echo 1

上面只是操作的命令,实现操作我已经在程序里封装好了。

下面是web平台里的操作情况

我想对容器test_update进行镜像打包,那么就点击Compress按钮输入具体描述就可以。

然后选择确定,等一会就会出现

可以看到右侧有个对话框,显示容器打包为镜像成功。

然后在去容器管理里查看具体信息

可以看到镜像已经有了,在通过Info按钮查看具体信息

可以看到详情跟之前打包的一样。

2、进行镜像推送到所有节点

也是在镜像管理里,选择push按钮

选择推送就会在所有节点里同步镜像信息,其实也就是在所有节点运行docker pull命令

可以通过左下角的firebug看到通过18.18秒就在所有节点里给361m的镜像同步完成。

之后这个进行就可以被集群环境或者其他环境给使用。

时间: 2024-11-05 14:56:56

docker高级应用之镜像打包与节点推送的相关文章

Gradle打包后自动推送到FTP服务器

gradle打包后自动推送到FTP服务器 1.使用Gradle生成APK Android Studio项目的根目录下有一个gradle.properties文件,专门用来配置全局键值对数据:在该文件中添加如下内容: KEY_PATH = D:/KeyStorePath/keystore/keystore.jks KEY_PASS = pwdkeystore ALIAS_NAME = keyAlias ALIAS_PASS = pwdkeyAlias 编辑app/build.gradle文件,在a

Docker学习笔记(6-2)Docker镜像的获取和推送

学习目标: 查找远程镜像 docker search 获取远程镜像 docker pull 推送本地镜像 docker push 1.查找到镜像 通过docker hub网站 注册账户 镜像查找 docker search -s --stars=0 指定返回星级 默认返回25个结果 docker search ubuntu docker search -s 3 ubuntu # 查看本地是否存在 docker images -a 2.# 远程获取 docker pull ubuntu:14.04

Docker镜像的获取和推送

查找镜像 查找镜像的方法有主要有两种,一种是在Docker Hub官方网站查找,网址为https://hub.docker.com/ 另一种方法是在命令行界面中通过docker serach <image>来查找相关的镜像. docker search命令说明: docker search [options] TERM --authomated=false Only show automated builds --no-trunc=false Don't truncate output -s,

Docker 学习之镜像导入导出及推送阿里云服务器(三)

在前面两节里主要就是记录一些docker的基本的操作,包括搜索镜像,拉取镜像,根据镜像创建容器等等,在这一节主要就是记录Docker对于镜像文件的导入导出,及推送到阿里云再从阿里云获取镜像. 一.镜像文件导入导出 1.1 查看当前已有的镜像文件 docker images 1.2 随意运行一个容器 docker run -d -p 8080:8080 --name tomcat tomcat 1.3 通过容器来的到一个新的镜像 # 根据正在运行的容器创建一个新的镜像docker commit t

记录vue项目 用hbuilder离线打包集成极光推送 安卓篇

极光推送的官方demo: https://github.com/jpush/jpush-hbuilder-demo 里面也记录有详细的方法了. 我记录下自己的过程. 首先去极光那里创建一个应用 获取AppKey ,创建后如下. 然后把vue 项目npm run build 打包一下.用hbuilder 里面 发行-->本地打包--->生成本地包资源--->生成一个离线包. 然后去https://ask.dcloud.net.cn/article/103 里面下载HBUILDER最新的SD

Docker深入浅出系列教程——镜像管理【外加视频】

我是架构师张飞洪,钻进浩瀚代码,十年有余,人不堪其累,吾不改其乐.如果你和我的看法不一样,请关注我的头条号,我们一起奇闻共赏,疑义相析. 接下来来讲解Docker三大组件之一的镜像,如果说镜像是静态的只读文件,那么容器就是带有运行时需要的可写文件层.也可以这样理解,镜像是对象的模板——类,容器是类生成的对象,镜像只有一个,对象可以有很多个.如果大家觉得看文字不过瘾,可以收看我的视频 1.搜索镜像 docker search ubuntu   //搜索镜像 2.拉取镜像 docker pull u

操作系统-容器-Docker:如何将应用打包成为 Docker 镜像?

ylbtech-操作系统-容器-Docker:如何将应用打包成为 Docker 镜像? 1.返回顶部 1. 虽然 DockerHub 提供了大量的镜像,但是由于企业环境的多样性,并不是每个应用都能在 DockerHub 找到对应的镜像来使用.那就要求企业的运维人员掌握制作 Docker 镜像的技能.在开始打包应用前,你首先要明白这两件事: 第一件事是选择适合你的方式来生成镜像: 1. 通过 Dockerfile 来自动编译生成镜像,实现构建镜像的需求. 2.通过容器内操作,并进行 Commit

docker教程——docker镜像打包上传

在开始使用URLOS进行docker应用开发之前,我们先来了解一下docker镜像的打包方法.首先,安装URLOS,安装完成之后,docker也随之安装到了主机里.执行以下命令安装URLOS: curl -SO https://www.urlos.com/install && chmod 544 install && ./install 简单制作一个属于自己的nginx镜像 基本流程:1.从docker云端拉取一个ubuntu-16.04的镜像:2.更新这个镜像,并安装ng

docker镜像打包

以 .NET CORE 3.0重新打包加入gdiplus为例 镜像打包 1 查找镜像 1 从dockerhub拉取指定镜像 docker pull [images]:[version] 此处,我用dockerfile拉取的,我的命令 FROM mcr.microsoft.com/dotnet/core/aspnet:3.0-buster-slim 2 查看镜像信息列表 docker images 镜像是静态的,得到镜像id,880d85db3775 2 修改容器 1 将镜像运行起来 后台启动do