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的名称,第三个是端口映射,如果要启动两个实例 可以再加一个端口映射
    做一个决定,并不难,难的是付诸行动,并且坚持到底。
  • 相关阅读:
    简单的运动框架——分享给初学者
    Python数据分析学习日志(1. 书单)
    mysql恢复数据参考
    window cmd 杀掉 java.exe 进程
    转载: Ajax关于readyState和status的讨论
    开发问题bug记录
    vue基础part10
    vue基础part9
    vue基础part(7-8)
    vue基础part(4-6)
  • 原文地址:https://www.cnblogs.com/wukc/p/13859135.html
Copyright © 2011-2022 走看看