论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
DevOps与敏捷开发
›
Docker 打包Python项目详细教程(Windows)
Docker 打包Python项目详细教程(Windows)
梦应逍遥
金牌会员
|
2024-6-21 13:26:31
|
显示全部楼层
|
阅读模式
楼主
主题
377
|
帖子
377
|
积分
1131
一、Docker的安装
参考教程
Windows安装使用Docker,方便你的开发和摆设(DockerDesktop篇)_windows安装docker-CSDN博客
https://blog.csdn.net/qq_60750453/article/details/128636298
可以使用以下下令,验证docker是否安装成功
1. 输入docker version,出现客户端和服务器的信息
2. 输入docker run hello-world,并在Docker Desktop验证hello-world镜像是否拉取成功
二、创建镜像(使用Dockerfile本地创建镜像)
(1)本地创建一个Python项目(新建假造情况,避免等会要打包的库太多了),编写一个简朴的爬虫代码demo.py(网址url随意切换),目次结构如下
(2)在当前目次终端,使用pip freeze > requirements.txt下令将项目依赖库进行导出。下令执行完成后会生成一个叫requirements.txt的文件
(3)编写Dockerfile(无类型文件),可以直接点击vscode新建文件按钮(不要加任何文件类型)
(4)打开cmd终端,进入Python项目目次,运行docker build -t demo:v1 . 下令构建镜像,这里留意后面有一个 . (如果出现报错,记得检查网络情况,另一种可能是Dockerfile文件受损,可以重新生成再试试)。在Docker Desktop中可以查察到我们创建的镜像。
docker build -t Name:TagName .(如果不加标签,默认标签为latest)
-t参数指定构建成后,镜像的仓库、标签等,
Name 给镜像取的名字
TagName 给镜像取的标签
末了的 . 表示 Dockerfile 文件在当前目次下
三、创建并启动容器(在容器中运行镜像)
(1)创建容器并运行镜像有很多差别的方式,下令详细用法如下:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
复制代码
OPTIONS阐明(常用):有些是一个减号,有些是两个减号
--name=“容器新名字” 为容器指定一个名称;
-d: 配景运行容器并返回容器ID,也即启动保卫式容器(配景运行);
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;也即启动交互式容器(前台有伪终端,等候交互);
(2)我们如今有一个已经创建好的demo镜像,我们执行docker run -d --name=container1 demo下令,容器会在配景运行并返回容器ID。留意这里没加标签默认是latest,如果你之前创建镜像的时间使用了其他标签,需要加上 :[标签],要否则体系会找不到镜像。
(3)如果你想以交互的模式启动一个容器,可以执行docker run -it --name=container2 demo /bin/bash下令,我们希望有个交互式 Shell(雷同于Linux),因此用的是 /bin/bash下令。我们成功进入到在Dockerfile中指定的工作目次的终端,输入exit可以退出直接退出容器终端。
(4)输入docker ps -a下令可以查察我们刚创建的两个容器,也可以在Docker Desktop中查察到我们创建的容器
四、修改镜像文件内容(在Docker Desktop上操纵)
(1)下面是我们刚刚创建的容器,点击右边的执行按钮,我们就会在容器中运行镜像,点击他的名字,可以进入到详细页面
(2)在容器的文件体系中,我们可以在code文件夹下找到我们的demo.py代码
(3)右键点击编辑按钮 ,可以修改我们的demo.py文件
(4)修改后,CTRL+S保存
(5)点击运行容器按钮,执行demo.py文件,成功输出新的内容,修改成功
五、从容器内拷贝文件到主机上
(1)docker cp 容器ID:容器内路径 目标主机路径,留意容器内的路径要加上指定的工作路径(Dockerfile文件中指定的),这里1.txt文件在code文件夹下。
六、镜像文件的打包和导入
(1)使用镜像打包下令:docker save ID > [path].tar 。[path]指定存放的路径(自己主机上)。打包完成可以在D盘下看到多了一个tar包,这就是你装好情况的docker镜像。
(2)把这个镜像的tar包发送给别人,其他人使用docker load -i save_demo.tar下令导入你的镜像,输出镜像的ID,此时还看不到容器。运行这个镜像,才进入对应的容器,然后就可以在相应目次下运行你的代码了。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
梦应逍遥
金牌会员
这个人很懒什么都没写!
楼主热帖
华为云数据库首席专家谈分布式数据应用 ...
HarmonyOS应用开辟高级认证考试答案三- ...
Flutter/Dart第02天:Dart基础语法(建 ...
《深入理解Java虚拟机》读书笔记:Clas ...
C#深拷贝方法
云小课|创建DDS只读节点,轻松应对业 ...
工业数据分析为什么要用FusionInsight ...
探索 Java 线程的创建
利用fiddlercore,修改http/https请求 ...
微服务介绍
标签云
挺好的
服务器
快速回复
返回顶部
返回列表