docker : 离线部署docker ,部署业务

背景:
有时候我们的软件部署环境是完全离线的,需要离线部署docker ,部署业务相关的软件,为了方便操作,提供一下脚本
脚本文件:

#!/bin/bash
# auto deploy icity system
# offline install docker use  rpm
set  -ex
install_dir='/software_install'
docker_rpm='/software/docker_rpm'
images='/software/images'
echo -e "auto deploy  software" 
# the tar file is uploaded  at "/"
function untar(){
   tar -xvf cfss_install.tar
};
function  remove_old_version() {
    yum remove docker \
                      docker-client \
                      docker-client-latest \
                      docker-common \
                      docker-latest \
                      docker-latest-logrotate \
                      docker-logrotate \
                      docker-engine
};
function install_docker(){
   rpm -ivh ${docker_rpm}/*.rpm  --nodeps  --force
   systemctl enable docker
   systemctl start docker
};

function load_image(){
  docker load  -i ${images}/redis.tar 
  docker load  -i ${images}/mysql.tar 
  docker load  -i ${images}/forntend.tar
  docker load  -i ${images}/backend.tar 
};

function run_redis(){
  tag=`docker images   | grep  redis  | awk '{ print $2  }'`
  docker run -itd  --name redis -p 6379:6379   redis:${tag} 
};
function run_mysql(){
   tag=`docker images   | grep  mysql  | awk '{ print $2  }'`
   docker run -itd  --name mysql -e MYSQL_ROOT_PASSWORD=123456  \
   -p 3306:3306 mysql:${tag}
};
function run_forntend(){
   tag=`docker images   | grep  cfss-vue-icity  | awk '{ print $2  }'`
   docker run -itd -p 8700:80 --name forntend  \
   forntend:${tag}
};
function run_backend(){
   tag=`docker images   | grep  cfss-icity  | awk '{ print $2  }'`
   mkdir -p /mnt/disk1/uploadfiles/
   docker run -itd -p 8701:19001 --name  backend \
   backend:${tag}
};
untar
remove_old_version
install_docker
load_image
run_redis
run_mysql
run_forntend
run_backend
if [ $? -eq 0 ] ;
then 
echo -e "auto deploy is done !" ;
fi

该脚本实现了 离线安装docker ,自动化导入image包, 自动运行容器等操作
docker 是通过rpm 包进行安装
安装包获取:https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
其中包括 一些以来rpm 需要我么自己获取
在这里插入图片描述
获取办法:1.找一台能联网的机器,开启 yum缓存 ,(如何开启,看下图 keepcache=1即可)
2. yum install docker-ce-18.06.1.* -y (视具体版本修改)
3. 去 yum的缓存路径下去找 ,看下图 cachedir路径就是 如我当前环境存储路径 为:/var/cache/yum/x86_64/7/base/packages

在这里插入图片描述
打包文件为一个tar的压缩文件,文件目录层级结构可以参考
software.tar
-docker_rpm
XXX.rpm
XXX.rpm

-images
nginx.tar
redis.tar
业务.tar
docker的tar包 使用 docker save <image_name> -o XXX.tar 获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值