天天看点

shell语言——自动构建docker镜像、容器

创建文件名为local-redis-images.sh  (名字自定义)

编辑local-redis-images.sh 

#! bin/bash

#镜像脚本

echo "[ 动态传参]"

#version是参数变量

version=$1

echo "[ 构建镜像 ]"

cd /data/gdeop/local-prod/

#${version}参数变量是在执行sh local-redis-images.sh 命令脚本时从外部传入的  如 sh local-redis-images.sh 0.0.6 

docker build --no-cache -t prod-local-redis-api-center:${version} .

docker tag prod-local-redis-api-center:${version} 131.123.180.161:8020/public/prod-local-redis-api-center:${version}

docker push 131.123.180.161:8020/public/prod-local-redis-api-center:${version}

注:执行sh local-redis-images.sh时 需要传参数 

自动运行容器:

创建文件 run_container.sh 

编辑 run_container.sh :

#! bin/bash

#镜像脚本

echo "[ 动态传参]"

#version是参数变量

container_name=$1

port=$2

version=$3

echo "[ 运行容器 ]"

echo "[${version}参数变量是在执行sh run_container.sh 命令脚本时从外部传入的  如 sh run_container.sh 0.0.1]" 

docker run -d  -v /data/gdeop/apicenter:/data/gdeop/apicenter --name prod-local-api-center${container_name} -m 4096m --memory-swap=4096m -p ${port}:1001 131.123.180.161:8020/public/prod-local-api-center:${version}

注:131.123.180.161:8020/public/ 为私服镜像仓库路径