无网络情况下,如何使用Docker镜像安装软件?

1. 引言

在日常的开发中,公司的内网是无法访问互联网的,有时候系统环境的差异,导致在内网中安装软件非常麻烦,深受其苦,所以,有时候为了方便快捷,我经常使用安装Docker镜像的方式来规避许多问题,屡试不爽。

下面就以安装ttskit语音合成的镜像为例。

ttskitText To Speech Toolkit的缩写,翻译为语音合成工具箱,是开源软件。可以将文字转为音频,github地址如下:

https://github.com/kuangdd/ttskit

2. 有网络生成镜像

对于ttskit的安装,其github主页只做了简单的说明

pip install -U ttskit

当然在使用pip安装ttskit的过程中,还会下载很多相关依赖,如果在内网直接安装,肯定会遇到很多问题,所以就可以通过制作Docker镜像的方式来安装ttskit

2.1 制作ttskit镜像

对于制作ttskit镜像,当然要有一个简单的centos系统,所以第一步,就需要先拉取centosDocker镜像

docker pull centos:centos7

拉取完centos7基础镜像后,需要启动该镜像,并在其中安装Python环境

docker run -d --name centos-ttskit -v /home/centos:/home/centos --privileged=true centos:7 /usr/sbin/init

当然了,安装Python的过程就要自己去查资料了,Python安装完后,就可以安装ttskit了,这个过程会遇到很多问题,耐心解决就好,本人花了5个小时,才把ttskit镜像制作好。

2.2 生成ttskit镜像

当把ttskit在容器中跑起来后,就可以把此centos7的容器提交,生成一个包含ttskit环境的新镜像了,使用如下命令:

docker commit 45c9f94add5f centos/ttskit:v1
# 45c9f94add5f为运行centos的容器id

在这里插入图片描述
在这里插入图片描述

2.3 保存ttskit镜像

对于制作好的镜像,需要将镜像保存在本地,使用如下命令

docker save -o centos_ttskit.tar centos/ttskit:v1

在这里插入图片描述

3. 无网络导入镜像

将制作好的镜像的tar包,拷贝到内网,再使用如下命令,将其镜像导入到内网的docker镜像库中

docker load -i  centos_ttskit.tar
docker images
docker run -it --name=ttskit -v/home/ttskit:/home/ttskit -p 9000:9000 centos_ttskit:V1  /bin/bash

4. 小结

上面解决了如何在无网络情况下,使用Docker镜像安装软件,这种方法非常实用并且有用,可以规避掉很多环境上的版本差异。

当然了,对于单纯的在无网络情况下,把已有的Docker镜像导入内网镜像库,比如mysql,这种就完全不用自己去制作镜像,直接docker pull完,再docker save保存就行了,把保存好的镜像导入内网,这更简单。

猜你喜欢

转载自blog.csdn.net/zxd1435513775/article/details/126551028
今日推荐