zoukankan      html  css  js  c++  java
  • 使用shell脚本更新发布docker项目

    环境:centos7、docker

    脚本思路:传入参数——>删除容器——>删除images——获取images——>运行容器

    1、脚本内容

    cat zx.sh
    #!/bin/bash
    
    fun () {
     if [ $? = '0' ]
         then 
           echo $1'执行成功!'
         else 
           echo $1'执行失败!'
       
      fi
         }
    sc='删除容器'
    docker ps -a|grep $1|awk '{print $1}'|xargs docker rm -f  &>/dev/null
    fun $sc
    
    sm='删除镜像'
    docker images|grep $2|awk '{print $3}'|xargs docker rmi -f &>/dev/null
    fun $sm
    
    lq='拉取镜像'
    docker pull 10.64.39.162:5000/$2:`date +%-m`.`date +%-d`  &>/dev/null
    fun $lq
    
    yx='运行容器'
    docker run -e LANG=en_US.UTF-8 --restart=always -v /etc/localtime:/etc/localtime:ro --name $1 -p $3 -d `docker images |grep $2|awk '{print $3}'`  &>/dev/null
    fun $yx
    
    docker run -e LANG=en_US.UTF-8 --restart=always -v /etc/localtime:/etc/localtime:ro --name $1'_1' -p $4 -d `docker images |grep $2|awk '{print $3}'`  &>/dev/null
    fun $yx
    
    echo '容器名称'$1 
    echo '镜像名称'$2 
    echo '容器端口映射'$3 
    echo '容器端口映射'$4 

    2、执行方法

    chmod u+x zx.sh
    ./zx.sh mysql mysql 3306:3306  #第一个是mysql容器名称,第二个mysql是image的名称,第三个是端口映射,如果要启动两个实例 可以再加一个端口映射
    做一个决定,并不难,难的是付诸行动,并且坚持到底。
  • 相关阅读:
    程序员的成长
    存储系统的基本数据结构之一: 跳表 (SkipList)
    【机器学习-斯坦福】学习笔记3
    TCP/IP入门(3) --传输层
    2015华为暑期实习(北京)面试经验
    C++面试中关于sizeof问题总结
    KMP详解
    hihoCoder #1014 : Trie树
    Trie树的创建、插入、查询的实现
    Trie树(c++实现)
  • 原文地址:https://www.cnblogs.com/wukc/p/13859135.html
Copyright © 2011-2022 走看看