精华内容
下载资源
问答
  • docker自动化部署实战

    万次阅读 多人点赞 2017-09-10 18:49:20
    docker自动化部署实战避免重复造轮子,我就不说docker的好处了,百度一大堆,况且你能看到这个文章,说明你也大概了解docker了。当然还是要从安装开始一步步来,本文中使用的是daocloud+coding+docker。daocloud官网...

    使用daocloud实现docker自动化部署实战

    aiprose 个人随笔上线,网址 aiprose.com 点击访问

    避免重复造轮子,我就不说docker的好处了,百度一大堆,况且你能看到这个文章,说明你也大概了解docker了。当然还是要从安装开始一步步来,本文中使用的是daocloud+coding+docker。daocloud官网coding官网
    自动化流程是:打包应用程序->上传到coding->daocloud检测到更新->自动构建docker镜像->自动部署应用->完毕。

    ###1.将主机加入daocloud管理

    首先你的有个linux机器吧,虚拟机也可以,如果都没有widows和mac也可以,能运行docker就行。我这用的是centos,基本类似。

    如果操作中有任何问题,请在下方评论,或者加群200909980交流

    建议使用阿里云的镜像源

    安装docker

    yum install docker -y
    
    ##查看docker版本,本人是1.12.6,建议越新越好
    docker -v
    

    daocloud管理主机

    添加地址

    这里写图片描述
    这里写图片描述


    ###2.代码打包

    为了演示,就新建一个最简单的web项目,项目名称是docker,新建一个index.html,等会要测试访问结果,然后导出war包。
    这里写图片描述

    ###3.上传到coding

    coding新建项目,然后将war包和Dockerfile上传到这个项目下,等会自动化部署要用到。
    这里写图片描述

    复制项目的git仓库地址,clone到本地。
    进入项目,吧war包复制到这个文件下,编写Dockerfile,切记这里不要有任何后缀名。如果不会写,访问我的项目地址,复制然后修改,吧Dockerfile里的war包名称修改,修改完后,一定要记得提交,可以在coding刷新你的项目,看有没有上传上去,dockerfile的编写语法网上一大堆,就不重复造轮子了。项目地址
    这里写图片描述

    ###4.创建并部署应用
    接下来,文字描述不清楚,采用图片说话

    创建应用

    这里写图片描述

    这里写图片描述

    第一次需要手动出发

    • 第一次应用创建成功后,需要手动触发。触发以后要记得刷新页面,这时候就会看到构建的镜像了。

    这里写图片描述

    这里写图片描述

    部署应用

    • 这是接着上一步的操作

    这里写图片描述

    填写应用名,并选择主机,然后最下边点击部署应用程序

    这里写图片描述

    设置端口,dockerfile指定tomcat的端口是8080,80端口是宿主机的端口,到时候我们通过宿主机的ip就可以访问docker的应用了。

    这里写图片描述

    这个自动发布一定要打开,这样下次代码修改后,才会在自动构建镜像后并自动部署应用程序。

    这里写图片描述

    这块可以看到tomcat的日志

    这里写图片描述

    • 部署成功

    这时我们在宿主机上进行访问就可以访问到,然后通过docker命令查看本地镜像和运行的程序,这都是daocloud自动化部署的好处,不然构建镜像,运行与管理镜像都得我们自己操作,而且还得直接操作服务器,这样并不友好,这样就算不会操作服务器也照样可以部署程序。

    如果操作中有任何问题,请在下方评论,或者加群200909980交流

    如果有多个docker可以通过nginx 反向代理做转发,请参考我的博文点击查看

    如果想体验一下自动部署,就重新打个包,然后push到coding的仓库,然后就会看到你的程序会自动部署。

    这里写图片描述

    展开全文
  • gitlab+jenkins+docker自动化部署脚本,采用shell与python开发,其中python部分均为封装成型的逻辑,只接受shell传参就能完成项目构建
  • 基于maven的docker自动化部署插件的使用构建开发项目配置dockerFile的配置文件 构建开发项目 首先打开我们的IDEA构建一个我们的开发项目,配置如下: 接着打开我们的pom.xml修改build的配置,修改以后的代码如下: ...

    基于maven的docker自动化部署插件的使用

    构建开发项目

    首先打开我们的IDEA构建一个我们的开发项目,配置如下:
    在这里插入图片描述
    接着打开我们的pom.xml修改build的配置,修改以后的代码如下:

    <build>
            <finalName>docker-automation-demo</finalName>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
    
                <plugin>
                    <groupId>com.github.lazyBoyl</groupId>
                    <artifactId>docker-maven-plugin</artifactId>
                    <version>1.0-release</version>
                    <configuration>
                        <!-- 需要上传到服务器的jar包所在的位置 -->
                        <jarTargetPath>${basedir}/target/docker-automation-demo.jar</jarTargetPath>
                        <!-- 创建镜像的dockerFile的本地配置文件的路径 -->
                        <dockerFilePath>${basedir}/dockerFile/Dockerfile</dockerFilePath>
                        <!-- 我们的dockerFile文件和相应的jar包的文件上传到服务器的路径 -->
                        <dockerImagesPath>/home/app/docker/test/</dockerImagesPath>
                        <!-- 该工程启动的时候的日志文件的挂载,前面的为本地的服务器的路径,分号后面的为docker容器中的文件路径 -->
                        <containerRunShare>/home/app/logs/docker-plugin-test/log/:/app/www/logs/docker-plugin-test/log/</containerRunShare>
                        <!-- 该工程启动的时候的端口映射,多个端口那就对应着启动多少个容器 -->
                        <containerRunPorts>
                            <containerRunPort>8088:8088</containerRunPort>
                        </containerRunPorts>
                        <options>
                            <!-- 服务器的ip:端口,账号,密码 -->
                            <option>
                                10.10.10.114:22,root,123456
                            </option>
                        </options>
                    </configuration>
                    <executions>
                        <execution>
                            <!-- 设置该插件的执行的生命周期为package完成以后执行,若不想绑定就将executions这块的代码注释了,后面就不会在打包好以后再去执行docker插件的操作 -->
                            <phase>package</phase>
                            <goals>
                                <!--phase与goal是绑定的关系,当g到达了phase阶段的时候就会去执行goal,此处的值固定为dockerMavenPlugin,因为插件给予他的名字就是dockerMavenPlugin -->
                                <goal>dockerMavenPlugin</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    

    接着我们在我们的主入口类的同级目录底下创建一个controller包,同时在该目录底下创建一个测试的TestController.java的测试入口类,代码如下:

    package com.docker.automation.demo.controller;
    
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.RestController;
    
    /**
     * @author linzf
     * @since 2019/5/28
     * 类描述:
     */
    @RestController
    @RequestMapping("/test")
    public class TestController {
    
        private Logger logger = LoggerFactory.getLogger(TestController.class);
    
        /**
         * 功能描述:实现消息的发送
         *
         * @param msg 前端发送的消息
         * @return 返回结果
         */
        @GetMapping("sendMsg")
        public String sendMsg(@RequestParam("msg") String msg) {
            logger.debug("收到请求过来的消息:{}", msg);
            return msg;
        }
    
    }
    

    最后记得在application.yml里面配置上我们的端口未8088

    配置dockerFile的配置文件

    接着在工程的src的同级目录创建一个dockerFile文件夹,同时在该文件夹底下创建一个Dockerfile文件
    在这里插入图片描述
    接着打开DockerFile配置文件配置信息如下:

    FROM base-jdk
       MAINTAINER linzf <282245889@qq.com>
       RUN mkdir -p /app/www/logs/docker-automation-demo/log/
       RUN mkdir -p /home/app/
       ADD docker-automation-demo.jar /home/app/app.jar
       CMD java -jar -Xms128m -Xmx1536m /home/app/app.jar
    

    到此处我们就完成了我们的工程的docker的配置,如何创建基础镜像、如何部署docker这些大家可以直接看我的docker系列文章:https://blog.csdn.net/linzhefeng89/article/details/78413387
    最后我们直接点击我们IDEA的package命令进行打包,那么我们的maven插件会自动帮我们将我们的包打包部署到我们的docker容器中。
    在这里插入图片描述
    接着我们直接访问我们的微服务的地址:http://10.10.10.114:8088/test/sendMsg?msg=wytuy
    到此为止我们就完成了我们的自动化部署插件的讲解,具体代码请查看github的地址:
    https://github.com/lazyboyl/docker-automation-demo

    展开全文
  • 通过jenkins触发shell脚本执行rancher2.0自动化容器部署实战
  • Docker自动化部署方案

    万次阅读 2017-09-15 14:18:04
    一 概述 Docker发布版本应该与...重点实现docker自动打包、push、pull、run、kill相关流程的控制。 二 需求分析 1、部署和目前的jenkins发布流程基本保持一致,目前版本发布的触发条件有:定时发布、手工发布,发布过

    一 概述

    Docker发布版本应该与现有的版本发布尽量一致,参考jenkins的版本发布过程;我认为maven库和docker库有很多类似的地方,因此打包过程参考maven的打包过程;重点实现docker自动打包、push、pull、run、kill相关流程的控制。

    二 需求分析

    1、部署和目前的jenkins发布流程基本保持一致,目前版本发布的触发条件有:定时发布、手工发布,发布过程包括:下载代码、构建、停止tomcat、清除缓存、当期版本、上传war包、上传且替换配置文件、启动tomcat等步骤。

     

    2、针对使用docker容器的,需要增加构建镜像上传镜像的过程。

    三 部署图

    jekins 和 web服务器需要有docker环境,包括docker和docker-compose


    四  总体流程

    五 详细设计

    1 下载代码打包

    1)代码路径下面要包含各套环境的配置文件信息,如下图:

    2 docker镜像版本定义

    docker镜像的当期版本使用${BUILD_NUMBER},上一版本使用$$((${BUILD_NUMBER}-1))

    3 准备物料

    压缩环境配置文件为evnconfig.zip,拷贝到Dockerfile目录;

    拷贝war包到Dockefile目录。

    4 Dockerfile构建镜像

    Dockerfile如下:

    #父镜像

    FROM centos7-tomcat7-jdk7:1.0

    #维护者

    MAINTAINER luo tian "tian@gmail.com

    #同步物料

    ADD document.war.tar /root/tomcat7/webapp

    ADD envconfig.tar /root/tomcat7/webapp

    #暴露访问端口

    EXPOSE 8080

    #启动服务

    ENTRYPOINT sh /root/tomcat7/bin/startup.sh


    构建命令如下:docker build -t  xx.com/ecf/document.war:v1.xx   .


    注解:镜像名称是部分组成:仓库url/项目名称/镜像名称:镜像版本

    Push镜像

    #登陆仓库

    docker login yy.com

    #上传镜像

    docker push xx.com/ecf/document.war:v1.xx

    docker仓库查看镜像


    5 目标服务器执行shell命令

    #停止容器

    docker kill document.war

    #删除容器

    docker rm document.war

    #启动新容器

    docker run  -p 8080:8080 -v /var/run/docker.sock:/var/run/docker.sock -v /root/tomcat7/logs:/var/tomcat7/logs --name document.war -d xx.com/document.war:1.xx

    #删除旧镜像

    docker rmi xx.com/document.war:1.xx

    完整Dockerfile代码

    FROM y.com/test/centos7-jdk7-tomcat8:2.0.1
    MAINTAINER luo,ten <luoten@midea.com>
    
    # Install war
    RUN mkdir /apps/document.war
    RUN mkdir /apps/tomcat8/conf/Catalina
    RUN mkdir /apps/tomcat8/conf/Catalina/localhost
    RUN mkdir /apps/document.war_work
    COPY target/document.war /apps/document.war
    ADD document.war.xml /apps/tomcat8/conf/Catalina/localhost
    完整docker镜像编译服务器执行的代码


    cd /root/jenkins_home/workspace/DEV-DOCUMENT/document.war/target/
    unzip document.war-0.0.1-SNAPSHOT.war -d  document.war
    cd  ../
    docker build -t y.com/test/document.war:${BUILD_NUMBER} .
    docker login -p admin123 -u admin y.com
    docker push y.com/test/document.war:${BUILD_NUMBER}
    docker rmi  y.com/test/document.war:${BUILD_NUMBER}
    完整docker应用说在服务器的执行代码:

    docker kill document.war
    docker rm -f document.war
    docker rmi y.com/test/document.war:$((${BUILD_NUMBER}-1))
    docker run  -v /root/document.war/logs:/apps/tomcat8/logs --name document.war  -p 8081:8080 -itd  --privileged y.com/test/document.war:${BUILD_NUMBER} /usr/sbin/init

    六 待解决问题

    1、 目前很多系统内核不符合docker部署

    FATA[0001] Your Linux kernel version 2.6.32-504.el6.x86_64 is not supported for running docker. Please upgrade your kernel to 3.10.0 or newer.


    2、 docker重要配置

    一、pull增加内部镜像仓库,配置文件或者启动命令增加:ADD_REGISTRY='--add-registry  yy.com'

    二、内外仓库采用http方式,配置文件或者启动命令增加: INSECURE_REGISTRY='--insecure-registry  yy.com' (/usr/lib/systemd/system/docker.service)

    三、docker、jenkins、git、svn等安装可能会遇到网络问题,因为需要安装一些相关依赖

    3、应用必须使用maven或者ant打包


    展开全文
  • Window部署和Linux部署,我把我的做法写了写,应该对你会有些许帮助叭。
  • Docker自动化部署(超详细)

    万次阅读 2019-10-31 21:56:03
    使用daocloud实现docker自动化部署实战 避免重复造轮子,我就不说docker的好处了,百度一大堆,况且你能看到这个文章,说明你也大概了解docker了。当然还是要从安装开始一步步来,本文中使用的是daocloud+coding+...

    使用daocloud实现docker自动化部署实战

    避免重复造轮子,我就不说docker的好处了,百度一大堆,况且你能看到这个文章,说明你也大概了解docker了。当然还是要从安装开始一步步来,本文中使用的是daocloud+coding+docker。daocloud官网 ,coding官网。
    自动化流程是:打包应用程序->上传到coding->daocloud检测到更新->自动构建docker镜像->自动部署应用->完毕。

    1.将主机加入daocloud管理

    首先你的有个linux机器吧,虚拟机也可以,如果都没有widows和mac也可以,能运行docker就行。我这用的是centos,基本类似。

     

    建议使用阿里云的镜像源

    安装docker

    1
    2
    3
    4
    
    yum install docker -y
     
    ##查看docker版本,本人是1.12.6,建议越新越好
    docker -v

    daocloud管理主机

    添加地址

    这里写图片描述

    这里写图片描述

    2.代码打包

    为了演示,就新建一个最简单的web项目,项目名称是docker,新建一个index.html,等会要测试访问结果,然后导出war包。

    这里写图片描述

    3.上传到coding

    coding新建项目,然后将war包和Dockerfile上传到这个项目下,等会自动化部署要用到。

    这里写图片描述

    复制项目的git仓库地址,clone到本地。
    进入项目,吧war包复制到这个文件下,编写Dockerfile,切记这里不要有任何后缀名。如果不会写,访问我的项目地址,复制然后修改,吧Dockerfile里的war包名称修改,修改完后,一定要记得提交,可以在coding刷新你的项目,看有没有上传上去,dockerfile的编写语法网上一大堆,就不重复造轮子了。项目地址:

    https://coding.net/u/yirenyishi/p/docker-csdn/git/tree/master

    这里写图片描述

    4.创建并部署应用

    接下来,文字描述不清楚,采用图片说话

    创建应用

    这里写图片描述

    这里写图片描述

    第一次需要手动出发

    第一次应用创建成功后,需要手动触发。触发以后要记得刷新页面,这时候就会看到构建的镜像了。

    这里写图片描述

    这里写图片描述

    部署应用

    这是接着上一步的操作

    这里写图片描述

    填写应用名,并选择主机,然后最下边点击部署应用程序

    这里写图片描述

    设置端口,dockerfile指定tomcat的端口是8080,80端口是宿主机的端口,到时候我们通过宿主机的ip就可以访问docker的应用了。

    这里写图片描述

    这个自动发布一定要打开,这样下次代码修改后,才会在自动构建镜像后并自动部署应用程序。

    这里写图片描述

    这块可以看到tomcat的日志

    这里写图片描述

    部署成功

    这时我们在宿主机上进行访问就可以访问到,然后通过docker命令查看本地镜像和运行的程序,这都是daocloud自动化部署的好处,不然构建镜像,运行与管理镜像都得我们自己操作,而且还得直接操作服务器,这样并不友好,这样就算不会操作服务器也照样可以部署程序。

    更多IT学习视频及编程资料分享  www.shangyepingtai.xin

    展开全文
  • 适用于大部分公司的自动部署构建流程,可以根据各公司的服务的数量和服务器的相关信息进行批次的部署或者集群部署的。
  • 最近把项目的部署换成了自动化部署,采用jenkins+docker+docker-compose+阿里云容器镜像服务(本来一开始是拉取代码在自己服务器上build的,考虑到自己服务器的性能,最后还是采用了阿里云的),记录一下docker部署 ...
  • 项目部署运维往往是一件让人很头疼的事情,如果人工每次进行部署,繁琐的流程让人望而生畏,每次又都是重复的操作,让人越看越厌。这篇文章将介绍如何使用jenkins+docker自动化部署前端项目。
  • Docker自动化部署(SHELL脚本开发)

    千次阅读 2020-02-25 13:41:32
    Docker自动检测局域网IP并赋予Docker虚拟机; Docker基于pipework指定IP; 将创建的Docker虚拟机加入至CSV(Excel)或者MYSQL库; 脚本: #!/bin/bash #auto install docker and Create VM #by j...
  • DevOps之Docker自动化部署

    千次阅读 2017-07-15 14:30:21
    前言 软件开发生命周期从瀑布式到敏捷再到现在的DevOps。记得刚入行的时候还是敏捷的天下,在不同公司敏捷的实践中或多或少感受到了团队间合作衔接的效率问题;...今天的主题就是用自动部署代替人工部署以减少资源的
  • Jenkins+docker自动化部署管理springBoot项目 Jenkins项目创建与配置 构建一个maven项目 配置构建参数 配置源代码、触发器、构建环境 构建配置 以上四个配置说明: 1、Source files:jenkins源jar包路径...
  • 目前在学习docker,因为公司用的是svn跟jenkins,我想用gitlab自带的CI/CD配合docker自动化部署springcloud项目 安装gitlab gitlab镜像 docker pull gitlab/gitlab-ee 挂载文件: 通常会将 GitLab 的配置 (etc)...
  • 码头工人测试 项目设置 yarn install 编译和热重装以进行开发 yarn serve 编译并最小生产 yarn build 整理和修复文件 yarn lint 自定义配置 请参阅。
  • 这篇文章将介绍如何使用jenkins+docker自动化部署jar项目。 果SpringBoot的jar包项目采用传统的方式去打包部署到服务器上,会非常的繁琐和麻烦。每次项目修改后重新部署,都需要先将项目进行打包,然后将jar包发送到...
  • jenkins&docker自动化部署maven项目

    千次阅读 2018-04-02 15:07:21
    jenkins和docker实现自动化构建部署 一、应用场景开发人员开发应用,开发后需要提交svn,然后从svn拉取代码,进行构建,发布到服务器上,然后看呈现效果,这样的工作是频繁反复的在进行的,浪费了大量时间,现在...
  • Jenkins+Docker自动化部署Spring boot项目(一)概述 我在之前写的博文中,写了如何用Dockerfile maven插件将Spring boot项目打成镜像包,然后开放远程机器的Docker远程访问能力,通过mvn命令上传本地的镜像文件到...
  • 关于这篇文章的产生 直接使用jenkins部署项目的流程很简单,直接配置完maven+git插件,然后创建工程可以直接部署,后面再加几个简单的shell脚本命令就完事了...首先解决程序自动化部署问题。docker下jenkins+由jenk...
  • Jenkins+Docker自动化部署Spring boot项目 (三)搭建jenkins 搭建jenkins jenkins我是通过下载镜像完成安装的,建议使用docker hub的镜像,它提供的版本比较新。一开始为了图快,我用了163镜像库的jenkins...
  • docker images|grep “none” |awk ‘{print $3}’|xargs docker rmi --force 1、需要发布的部署单元根目录 添加Dockerfile文件,据此文件解析部署单元 检查build.gradle文件是否包含名为pushImage的task 2、项目根...
  • 基于gitlab+docker自动化部署vue

    千次阅读 2019-11-22 18:16:22
    安装gitlab-runner 拉取镜像 docker pull gitlab/gitlab-runner:latest ...docker run -d --name docker-gitlab-runner --restart always -v /srv/gitlab-runner/config:/etc/gitlab-runner -v /var/run/docker.sock...
  • 该文档来自CCTC 2016中国云计算技术大会。九州云99Cloud OpenStack开发工程师张雷发表的题为“生产环境中使用Docker自动化部署升级OpenStack的运维实践”的主题演讲,欢迎下载!
  • 本系列主要介绍如何自动化部署我们的前端和后端项目 本篇主要介绍如何自动化部署vue项目 下篇讲如何自动化部署nodejs项目 我这里是mac os,如果你用linux就不会碰到很多下面碰到的问题了。 相关应用 jenkins ...
  • docker自动化部署 docker安装步骤 安装docker yum install -y docker 备注:-y 表示不询问 使用默认配置进行安装,等待提示 完毕! 查看是否安装成功 yum list installed | grep docker 备注:命令为 查看...
  • Docker自动化部署

    万次阅读 2018-04-05 10:36:54
    代码从开发者的假期到最终在生产环境上的部署,需要经过很多的中间环境.而每一个中间环境都有自己微小的蛤贝,Docker给应用提供一个从开发到上线均一致的环境,让代码的流水线变得简单. 3.提高开发效...
  • 本文主要介绍了关于.Net Core自动化部署docker版jenkins部署dotnetcore应用的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的实现步骤吧。 安装docker版jenkins 因为jenkins的docker版本...
  • 最近在研究jenkins + docker 自动化部署,一路是采坑无数,今日记下我的采坑记录,希望能帮到有同样问题的程序猿们。 首先是安装Jenkins,安装Jenkins很简单,去管网下载其War包直接用Java -jar命令运行就行了,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 71,351
精华内容 28,540
关键字:

docker自动化部署是什么