
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
一个完整的Docker有以下几个部分组成:
DockerClient客户端
Docker Daemon守护进程
Docker Image镜像
DockerContainer容器
1.创建python项目


【备注:一定要将项目python环境依赖存至本项目下,默认依赖本机python环境(会造成依赖包过多)】
#! python# -*- coding: utf-8 -*-from urllib.request import urlopenurl = "https://www.hao123.com/"if __name__ == '__main__':resp = urlopen(url)# 把读取到网页的页面源代码写入myGetFile.html文件with open("myGetFile.html", mode="w", encoding='utf-8') as f:f.write(resp.read().decode('utf-8'))f.close() # 关闭文件resp.close() # 关闭resp响应print("结束")

在打开的终端中,输入
pip freeze > requirements.txt
回车,生成requirements.txt文件


4.打包前准备
在新建文件夹下面创建docker_test文件夹,同级目录下创建Dockerfile文件,在docker_test文件夹下面添加main.py源代码和requirements.txt文件


# python版本,可根据需求进行修改FROM python:3.8-alpineRUN mkdir code# 将代码和项目依赖添加到code文件夹ADD ./docker_test code# 设置code文件夹是工作目录WORKDIR /codeRUN pip install -r requirements.txt# 镜像运行时执行的命令,这里的配置等于 python main.pyENTRYPOINT ["python","main.py"]
6.打包Docker镜像

docker build -t mypythontest:1.0 .
回车。

打包成功后,利用命令
docker images
可以验证mypythontest镜像

7.运行镜像
#docker run --name c_name imagename
#c_name为容器名 imagename为打包的镜像名
docker run -it --name pythontest mypythontest:1.0
8.把docker镜像中的文件复制到宿主机上来

本例,在终端中运行
docker cp pythontest:/code ./
看到已生成code文件夹


生成的网页源代码文件

文章转载自捷创源科技,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




