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文件挂载在这个容器上做共享文件夹
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
WORKDIR /app
ADD . /app
RUN pip install -r requirements.txt
CMD [“python”, “app.py”]
☑ app.py:python项目的源代码,这里测试的单个python文件,如果是一个完整项目,可以将整个文件夹拷贝到这里。
“”"
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