docker命令:

docker create <image-id>
docker start <container-id>
docker run <image-id> = docker create <image-id> + docker start <container-id>
docker ps
docker ps -a
docker images
docker images –a
docker stop <container-id>
docker kill <container-id>
docker pause <container-id>
docker rm <container-id>
docker rmi <image-id>
docker commit <container-id>
docker build
docker exec <running-container-id>
docker inspect <container-id> or <image-id>
docker save <image-id>
docker export <container-id>
docker history <image-id>

Dockerfile

FROM jdk8:slim

ADD target/udap-user.jar app.jar

ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom" ,"-jar" , "-Xms128m","-Xmx128m" ,"/app.jar"]

Jenkinsfile

pipeline {

   agent { label 'iclass5' }

   stages {

       //slave 机器执行编译打包上传       stage('Checkout') {

           steps {

               echo 'start to check from github'

               checkout([$class: 'GitSCM',                        branches: [[name: '*/master']],                        doGenerateSubmoduleConfigurations: false,                        extensions: [                           [$class: 'SparseCheckoutPaths',                             sparseCheckoutPaths:[[$class:'SparseCheckoutPath', path:'udap-user']]]                           ], submoduleCfg: [],                        userRemoteConfigs: [[credentialsId: 'github-wwlleo0730', url: 'https://github.com/udap/mediabox']]])           }       }

       stage('mvn build & test'){

           steps {

                echo 'start to mvn build'

                sh "docker run -i --rm -v ${env.WORKSPACE}/udap-user:/usr/src/workspace -v /root/.m2/repository/:/root/.m2/repository -v /opt/maven/settings.xml:/root/.m2/settings.xml -w /usr/src/workspace maven mvn clean package -U -Dmaven.test.skip=true"           }       }

      stage('remove old container'){

            steps{

               sh '''CID=$(docker ps | grep iclass.cn/$JOB_NAME | awk \'{print $1}\')                   if [ "$CID" != "" ];then                       docker rm -f $CID                   fi'''            }

       }

       stage('rebuild image'){

            steps {

               sh '''CID=$(docker images | grep iclass.cn/$JOB_NAME | awk \'{print $1}\')

               if [ "$CID" != "" ];then                   docker rmi iclass.cn/$JOB_NAME               fi'''

               script {                   docker.build('iclass.cn/$JOB_NAME','./udap-user')               }           }       }

   stage('restart container'){

            steps{

               echo 'start..'               sh 'docker run -d --name $JOB_NAME -p 4010:4010 -e "SPRING_PROFILES_ACTIVE=test" -e "EUREKA_INSTANCE_IP-ADDRESS=10.80.228.221" iclass.cn/$JOB_NAME'            }

       }   }}

转载于:https://www.cnblogs.com/stanljj/p/9829412.html

docker与jenkins学习相关推荐

  1. Docker、Jenkins、Rancher自动化部署项目

    技术前提 在阿里云服务器centOS7.3版本虚拟机安装开发环境,也可以自己本机装虚拟机尝试.也有一定技术基 础前提,需要了解linux基础命令.Docker的运用,如:编写Dockerfile文件. ...

  2. 使用 docker 搭建jenkins 自动化工具

    一.jenkins Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成. 大家在工作中,应该都有 ...

  3. 基于K8s和docker的Jenkins 可伸缩持续集成系统

    概述 本文档主要介绍Jenkins的可伸缩部署方式,一种是基于Docker(或者docker-swarm 集群)的部署方式,另外一种是基于kubernetes的部署方式. 由于基于kubernetes ...

  4. Docker安装Jenkins教程之避免踩坑

    一.前言 有人问,为什么要用Jenkins?一般小型公司每次开发一个项目完成后,需要打包部署,可能没有专门的运维人员,只能开发人员去把项目打成一个war包,可能这个项目已经上线了,需要把服务关,在部署 ...

  5. Docker安装Jenkins打包Maven项目为Docker镜像并运行【保姆级图文教学】

    一.前言 Jenkins作为CI.CD的先驱者,虽然现在的风头没有Gitlab强了,但是还是老当益壮,很多中小公司还是使用比较广泛的.最近小编经历了一次Jenkins发包,感觉还不错,所以自己学习了一 ...

  6. docker update_DevOps核心:使用Docker部署Jenkins持续集成服务器

    下载镜像 前往DockerHub下载Jenkins长期支持版本镜像. 查看官方的镜像历史(获取Jenkins相关信息) ARG http_port=8080ARG agent_port=50000AR ...

  7. Docker系列 七. Docker 安装Jenkins

    Docker系列 七. Docker 安装Jenkins Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集 ...

  8. docker 安装jenkins

    准备工作:docker 环境要装好,docker version 能显示出版本信息. Docker 安装: https://www.w3cschool.cn/docker/ubuntu-docker- ...

  9. 从Docker 到Jenkins 到Ansible的部署经验

    从Docker 到Jenkins 到Ansible的部署经验 工作中,除了开发功能,还负责系统的部署工作.我从频繁的部署工作中,逐渐找到了一些偷懒的方法.从传统的Java -jar命令启动服务,到通过 ...

最新文章

  1. 网络推广外包专员浅析为什么说早在建站初期就要做好网络推广外包
  2. tyvj 1067 合唱队形 dp LIS
  3. 「微信小程序」剖析(二):框架原理 | 在桌面浏览器上运行的
  4. 安卓逆向系列教程 4.6 去广告
  5. ともだちいじょう、こいびとみまん
  6. Java Web开发实战—简介篇
  7. 置为底层_C语言之C语言的底层操作
  8. C语言学生成绩管理系统
  9. VMware中创建虚拟机并安装Linux操作系统教程
  10. 知道华为HMS ML Kit文本识别、银行卡识别、通用卡证识别、身份证识别的区别吗?深度好文教你区分
  11. 苹果手机怎样双开微信?简单2步快速安装苹果版双开助手!
  12. 世界十大OTA公司盘点
  13. 思科模拟器中配置单区域OSPF
  14. 金庸走过,留给马云和阿里巴巴一个“江湖”
  15. ENGLISH资料收集(3)-英语日期的正确表达
  16. 酒类电商1919获阿里巴巴20亿元战略投资,估值达70亿元
  17. python爬虫概述及简单实践
  18. 3.vue开发实例演示
  19. 计算机无法建立word文档,(电脑中右键不能新建word和excel文档怎么办)为何电脑无法新建excle...
  20. 刷脸支付开拓创走在时代的前沿

热门文章

  1. 正则验证多个邮箱用分号隔开
  2. Python【01】【基础部分】- A
  3. setCharacterEncoding和setContentType
  4. 图片做背景撑开div
  5. VSCode 初次写vue项目并一键生成.vue模版
  6. mybatis的Example[Criteria]的使用
  7. es6 --- promise.prototype.then的链式引用
  8. JavaScript --- 跨浏览器的事件处理程序
  9. 5分钟从零构建第一个 Apache Flink 应用
  10. “智云大咖秀”:大咖摄影师谈惊艳亮相的“大咖级”设备