docker离线部署docker,部署业务方式

 更新时间:2024年01月17日 16:51:17   作者:大鹏blog  
这篇文章主要介绍了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 获取

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Docker安全开放远程访问连接权限方式

    Docker安全开放远程访问连接权限方式

    文章介绍了如何配置Docker以实现远程访问、开启认证和通信加密,包括生成证书和私钥、配置Docker守护进程以及在IDEA和Maven中连接Docker服务的方法
    2024-11-11
  • docker中配置hosts的方法实现

    docker中配置hosts的方法实现

    本文主要介绍了docker中配置hosts的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • Docker端口映射后,外机访问不了的问题及解决

    Docker端口映射后,外机访问不了的问题及解决

    Docker端口映射后外机访问不了的问题可能包括:网络配置错误(需与宿主机在同一网段)、容器未启动、防火墙设置问题(需关闭或开放映射端口)、未开启IP转发
    2025-02-02
  • docker开通2375端口防漏洞问题

    docker开通2375端口防漏洞问题

    这篇文章主要介绍了docker开通2375端口防漏洞问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Docker匿名挂载和具名挂载的具体使用

    Docker匿名挂载和具名挂载的具体使用

    Docker的挂载是将容器内的目录和宿主机的目录进行绑定,本文主要介绍了Docker匿名挂载和具名挂载的具体使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • Docker拉取镜像的完整步骤

    Docker拉取镜像的完整步骤

    这篇文章主要给大家介绍了关于Docker拉取镜像的完整步骤,文中通过示例代码介绍的非常详细,对大家学习或者使用Docker具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • 详解用Docker构建MySQL主从环境

    详解用Docker构建MySQL主从环境

    这篇文章主要介绍了详解用Docker构建MySQL主从环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Deepin使用docker安装mysql数据库过程详解

    Deepin使用docker安装mysql数据库过程详解

    这篇文章主要介绍了Deepin使用docker安装mysql数据库过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • 关于docker的15个小tip(技巧)

    关于docker的15个小tip(技巧)

    本篇文章主要介绍了docker的15个小tip(技巧),具有一定的参考价值,有需要的可以了解一下。
    2016-12-12
  • 解决docker安装完成报:bridge-nf-call-iptables is disabled问题

    解决docker安装完成报:bridge-nf-call-iptables is disabled问题

    这篇文章主要介绍了解决docker安装完成报:bridge-nf-call-iptables is disabled问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11

最新评论