通过windows10在linux内网内安装docker并部署python项目

1、内网安装docker
(1)、在windows10 安装docker
a.进入Docker Toolbox的下载网页,选择windows版本下载
b、安装完成,用以下命令启动docker及设置开机自启

systemctl start docker
systemctl enable docker

(2)、docker下安装与内网相同的centos7
查看本机images
docker images
1
查看本机运行的container
docker ps
1
从dockerhub上pull 镜像
docker pull 镜像名称
1
利用image运行container:Docker容器启动时,我们可以使用-v参数来挂载主机下的一个目录
比如,我需要启动一个ubuntu的容器,并把/opt文件挂载在这个容器上做共享文件夹

a3551444fc85是我的镜像ID

docker run -t -i -v /opt:/soft a3551444fc85 /bin/bash
这样启动后容器会自动在根目录下创建soft文件夹,同时也就要求了**/soft必须写绝对路径**

如果主机不存在该目录,则会自动生成

(3)、在相同的centos7中下载docker,并在复制到关联的宿主机文件夹,通过宿主机文件夹ftp到内网centos目录中进行安装

1.Docker对centos系统的内核版本有要求,要求内核版本必须要高于3.10,可以通过uname -r来查看当前你的内核版本

uname -r
1
2.由于我们要在外网机安装Docker环境并且最终目的是要挪到内网机上,于是需要开启yum的安装包缓存功能

vi /etc/yum.conf --打开yum的配置文件
1
将配置中的keepcache=0改为=1打开yum安装包缓存,如果不打开此功能我们安装的软件包都会在安装完成后自动删除
将配置中的keepcache=0改为1
3.使用root权限登录外网机,并安装所需要的软件包

sudo yum install -y yum-utils device-mapper-persistent-data lvm2
1
4.设置yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #阿里云yum源
1
5.设置完yum源之后你可以查看仓库中的所有docker版本,我选择了默认安装最新版本

yum list docker-ce --showduplicates | sort -r //查看版本
sudo yum install docker-ce //默认安装最新版
1
2
在这里插入图片描述
6.安装完之后可以启动docker

sudo systemctl start docker
docker version //查看docker版本
1
2
在这里插入图片描述
7.安装成功后打开自己在yum.conf中的yum缓存路径,一般为/var/cache/yum下,将整个yum文件夹拷贝出来,存放至内网机的对应与宿主机关联的路径下

NO2. 复制指定目录到当前目录
[root@rehat root]# cp -r /root/test .
[root@rehat root]# cp -r /root/test/ .

8.进入内网机用root用户登录,同样需要进行安装所需依赖,但是这时我们需要从缓存中安装所以在install前面加上-C

sudo yum -C install -y yum-utils device-mapper-persistent-data lvm2
1
9.接下来的操作就是打开以下这四个文件夹,批量强行安装每个packages下的rpm包即可(默认不检查依赖安装)

rpm -ivh packages/* --nodeps --force
1
在这里插入图片描述
10.安装完成,用以下命令启动docker及设置开机自启

sudo systemctl start docker
sudo systemctl enable docker

(4)、在windows10中将python项目打包成镜像
场景描述:我们使用一个简单的python项目,本项目是中文分词的算法。如何实现Docker安装部署。

❶ 第一步: Win10下创建目录文本。选择在D盘下创建docker目录,分别新建三个文件:Dockerfile,app.py,equirements.txt ,以及python相关联的函数等关联文件或目录

☑ Dockerfile(没有后缀):一个文本文件,包含了一条条的指令(Instruction),每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。创建镜像必须文件。

基于镜像基础

FROM python:3.7

设置代码文件夹工作目录 /app

WORKDIR /app

复制当前代码文件到容器中 /app

ADD . /app

安装所需的包

RUN pip install -r requirements.txt

Run app.py when the container launches

CMD [“python”, “app.py”]
☑ app.py:python项目的源代码,这里测试的单个python文件,如果是一个完整项目,可以将整个文件夹拷贝到这里。

coding:utf8

“”"
DESC: Python数据预处理之第一个分词程序范例
Author:伏草惟存
Prompt: code in Python3 env
“”"
import jieba
str = “道路千万条,安全第一条;行车不规范,亲人两行泪。”
print(“原句: \n” + str)
seg_list = jieba.cut(str)
print(“分词: \n” + " / ".join(seg_list))
☑ equirements.txt :所需要的插件,以python为例,其获取方法是cmd命令,进入到【D:\docker】目录,执行命令:pip freeze > requirements.txt

❷ 第二步:生成镜像。本文采用的windows环境。docker build -t friendlyhello .命令中最后的点不要忘记,这里表示当前目录

❸ 第三步:查看镜像是否生成

❹ 第四步:运行镜像程序,这里可以看到分词效果

(5)、镜像打包并在内网机上部署
2. 将镜像打包成tar包
docker save -o xxx.tar imagexxx # 当前路径下会生成一个xxx.tar
6. 将tar包生成镜像
docker load < xxx.tar

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值