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的名称,第三个是端口映射,如果要启动两个实例 可以再加一个端口映射
    做一个决定,并不难,难的是付诸行动,并且坚持到底。
  • 相关阅读:
    对返回的json数据重写格式,用特性JsonConverter
    dev 的NavBarControl动态菜单
    获取oracel数据库的结构
    Java-背单词程序(俄语)
    实现同或操作 C++
    输入字符串先用cin后用getline函数失效原因
    C++全局变量与局部变量
    4.Redis事务
    3.持久化配置
    2.常用数据类型
  • 原文地址:https://www.cnblogs.com/wukc/p/13859135.html
Copyright © 2011-2022 走看看