重庆网站建设公司 /必应搜索引擎入口

重庆网站建设公司 ,必应搜索引擎入口,如何申请一个网站空间,做最优秀的自己演讲视频网站两个奇技淫巧,将 Docker 镜像体积减小 99% 使用Docker运行程序 Docker的基本使用(部署python项目) 一、准备项目 我写的是一个爬取某ppt网站的代码,就一个ppt1.py是爬虫,然后,ppts是存放下载的ppt的 二、准备requirement.txt文件…

两个奇技淫巧,将 Docker 镜像体积减小 99%

使用Docker运行程序

Docker的基本使用(部署python项目)

一、准备项目

 

我写的是一个爬取某ppt网站的代码,就一个ppt1.py是爬虫,然后,ppts是存放下载的ppt的

 

二、准备requirement.txt文件

这个是需要哪些python库支持,写好

 

 

三、准备Dockerfile文件

需要一个名为Dockerfile的文件,没有后缀,这个创建docker镜像的配置文件

复制代码
FROM python:3.6
ENV PATH /usr/local/bin:$PATH
ADD . /code
WORKDIR /code
RUN pip install -r requirements.txt
CMD python ppt1.py
复制代码

 

FROM:需要什么环境

ENV:修改path,即增加/usr/local/bin这个环境变量

ADD:将本地代码放到虚拟容器中,它有两个参数,第一个是 . ,代表本地当前路径;第二个参数是/code,代表虚拟容器中的路径,即将本地项目的所有内容放到虚拟容器的/code目录下,以便在虚拟容器中运行代码

WORKDIR:指定工作目录,也就是刚才的/code,在虚拟容器中的目录

RUN:执行某些环境准备工作,docker容器中只有python3环境,还需要python的库,这里安装那些库

CMD:运行项目的命令行命令

 

四、开始创建镜像

 docker build -t pptdemo:latest .

 

这样应该就没错了,最后报了个警告,有时间去了解了解...

复制代码
$ docker build -t pptdemo:latest .
Sending build context to Docker daemon  23.55kB
Step 1/6 : FROM python:3.6---> 55fb8aca33df
Step 2/6 : ENV PATH /usr/local/bin:$PATH---> Using cache---> 97e82715b8ee
Step 3/6 : ADD . /code---> 9d2d253015ee
Step 4/6 : WORKDIR /code
Removing intermediate container 25ccdad420a0---> ec462b723417
Step 5/6 : RUN pip install -r requirements.txt---> Running in 83e607d0bc06
Collecting requests (from -r requirements.txt (line 1))Downloading https://files.pythonhosted.org/packages/7d/e3/20f3d364d6c8e5d2353c72a67778eb189176f08e873c9900e10c0287b84b/requests-2.21.0-py2.py3-none-any.whl (57kB)
Collecting pyquery (from -r requirements.txt (line 2))Downloading https://files.pythonhosted.org/packages/09/c7/ce8c9c37ab8ff8337faad3335c088d60bed4a35a4bed33a64f0e64fbcf29/pyquery-1.4.0-py2.py3-none-any.whl
Collecting idna<2.9,>=2.5 (from requests->-r requirements.txt (line 1))Downloading https://files.pythonhosted.org/packages/14/2c/cd551d81dbe15200be1cf41cd03869a46fe7226e7450af7a6545bfc474c9/idna-2.8-py2.py3-none-any.whl (58kB)
Collecting chardet<3.1.0,>=3.0.2 (from requests->-r requirements.txt (line 1))Downloading https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl (133kB)
Collecting certifi>=2017.4.17 (from requests->-r requirements.txt (line 1))Downloading https://files.pythonhosted.org/packages/9f/e0/accfc1b56b57e9750eba272e24c4dddeac86852c2bebd1236674d7887e8a/certifi-2018.11.29-py2.py3-none-any.whl (154kB)
Collecting urllib3<1.25,>=1.21.1 (from requests->-r requirements.txt (line 1))Downloading https://files.pythonhosted.org/packages/62/00/ee1d7de624db8ba7090d1226aebefab96a2c71cd5cfa7629d6ad3f61b79e/urllib3-1.24.1-py2.py3-none-any.whl (118kB)
Collecting lxml>=2.1 (from pyquery->-r requirements.txt (line 2))Downloading https://files.pythonhosted.org/packages/5d/d4/e81be10be160a6323cf5f29f1eabc9693080cb16780a2e19c96091ee37ee/lxml-4.3.0-cp36-cp36m-manylinux1_x86_64.whl (5.7MB)
Collecting cssselect>0.7.9 (from pyquery->-r requirements.txt (line 2))Downloading https://files.pythonhosted.org/packages/7b/44/25b7283e50585f0b4156960691d951b05d061abf4a714078393e51929b30/cssselect-1.0.3-py2.py3-none-any.whl
Installing collected packages: idna, chardet, certifi, urllib3, requests, lxml, cssselect, pyquery
Successfully installed certifi-2018.11.29 chardet-3.0.4 cssselect-1.0.3 idna-2.8 lxml-4.3.0 pyquery-1.4.0 requests-2.21.0 urllib3-1.24.1
Removing intermediate container 83e607d0bc06---> 22244632da67
Step 6/6 : CMD python ppt1.py---> Running in c5ff77a9f680
Removing intermediate container c5ff77a9f680---> 07cfec786f1a
Successfully built 07cfec786f1a
Successfully tagged pptdemo:latest
SECURITY WARNING: You are building a Docker image from Windows against a non-Windows Docker host. All files and directories added to build context will have '-rwxr-xr-x' permissions. It is recommended to double check and reset permissions for sensitive files and directories.
复制代码

 

继续输入代码查看是否创建成功

 

五、运行

docker run pptdemo

我成功了!

 

顺便一提,如果我们需要暴露接口,比如搭了一个网站,需要暴露端口,因为暴露的是容器的端口,需要访问宿主机能访问到,所以需要做端口映射

可以参考:https://www.cnblogs.com/jie-fang/p/7920863.html

docker run -d -p 8080:80 nginx

比如这样,就将宿主机的8080端口映射到容器的80端口,访问localhost:8080就可以了

注意,windows下不同,因为docker需要Linux环境,其实在windows上开了一个虚拟机

dcoker-machine ip default

可以显示出ip为多少,这样,需要利用这个ip才能访问容器,一般是,192.168.99.100,那么192.168.99.100:8080即可访问到接口,不然就是你配错了

进入docker容器:

docker exec -i -t  pptdemo /bin/bash

查看docker容器运行日志:

docker logs pptdemo

 

 

六、关于部署

1.push到dockerhub,然后在装好docker的服务器上pull下来镜像,run即可

2.复制源代码到服务器,在装好docker的服务器上重新执行 build,run

3.将image导出,复制到装好docker的服务器,载入image,run即可

 

1.push到dockerhub 

优点在于,推送到dockerhub,只要有网即可方便推拉,缺点是,推送特别慢,而且要反复推,我正在查有没方法换源之类。。。

1.在dockerhub注册帐号

2.新建一个库,我的叫:pptdemo

3.命令行登录

docker login -u happycodes

4.tag打标签

docker tag pptdemo:latest happycodes/pptdemo:latest

5.push

docker push happycodes/pptdemo

 

2、复制源码到服务器

这个比较简单,就类似于再构建一遍,缺点是又要下依赖,又要重新构建,比较慢

 

3、导出image,拷贝image,载入image

比较合适的方法,构建一遍,复制多遍,即可

复制代码
复制代码
#将镜像存储
docker save nginx:latest > ./nginx.tar
docker save xxxxx(image id) > ./nginx.tar

#导入镜像文件
docker load --input ./nginx.tar

#通过符号的方式来导入
docker load < ./nginx.tar

复制代码
复制代码

 

 

七、可选、删除多余的容器和镜像

容器不停,不能删对应的image

关于容器:

复制代码
复制代码
$ docker ps // 查看所有正在运行容器
$ docker stop containerId // containerId 是容器的ID

$ docker ps -a // 查看所有容器
$ docker ps -a -q // 查看所有容器ID

$ docker stop $(docker ps -a -q) // stop停止所有容器
$ docker rm $(docker ps -a -q) // remove删除所有容器

复制代码
复制代码

 

关于images

?
1
2
3
docker images  // 查看当前有些什么images
docker rmi <image id>  // 删除指定id的image
docker rmi $(docker images -q)  // 要删除全部image的话

  

八、使用docker-compose部署

简单说说docker-compose,他是python写的,为了解决docker部署的繁杂配置和多容器部署的配置问题,例如需要做容器端口和宿主机端口映射,配置容器ip等。

pip install docker-compose 即可

使用很简单,编写 docker-compose.yml 文件即可,例如我的代理池,需要配置映射端口

原文地址:[https://www.cnblogs.com/zmdcomeon/archive/2019/11/05/11801443.html](https://www.cnblogs.com/zmdcomeon/archive/2019/11/05/11801443.html)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/479356.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Pytorch与Tensorflow,哪个更适合你?

本文转载自公众号“夕小瑶的卖萌屋”&#xff0c;专业带逛互联网算法圈的神操作 -----》我是传送门 关注后&#xff0c;回复以下口令&#xff1a; 回复【789】 &#xff1a;领取深度学习全栈手册&#xff08;含NLP、CV海量综述、必刷论文解读&#xff09; 回复【入群】&#xf…

LeetCode 500. 键盘行

文章目录1. 题目2. 解题1. 题目 给定一个单词列表&#xff0c;只返回可以使用在键盘同一行的字母打印出来的单词。键盘如下图所示。 示例&#xff1a; 输入: ["Hello", "Alaska", "Dad", "Peace"] 输出: ["Alaska", &quo…

XGBoost缺失值引发的问题及其深度分析

1. 背景 XGBoost模型作为机器学习中的一大“杀器”&#xff0c;被广泛应用于数据科学竞赛和工业领域&#xff0c;XGBoost官方也提供了可运行于各种平台和环境的对应代码&#xff0c;如适用于Spark分布式训练的XGBoost on Spark。然而&#xff0c;在XGBoost on Spark的官方实现中…

Android官方开发文档Training系列课程中文版:添加ActionBar之添加Action按钮

原文地址 : http://android.xsoftlab.net/training/basics/actionbar/adding-buttons.html 添加Action按钮 ActionBar允许在当前的APP上下文内添加很多重要的功能按钮。这样便可以通过图标或者文字作为功能按钮直接展示在ActionBar上。功能按钮如果没有足够空间或无足轻重的按…

快手搜索技术部招聘NLP算法工程师!

星标/置顶小屋&#xff0c;带你解锁最萌最前沿的NLP、搜索与推荐技术工作职责快手搜索技术部招聘&#xff0c;负责研发快手主APP搜索中的关键NLP模型/算法&#xff0c;包括但不限于&#xff1a;适合快手数据生态的NLP预训练语言模型&#xff0c;并推动预训练模型在query解析&am…

论文浅尝 | 解决知识图谱补全中的长尾关系和不常见实体问题

论文笔记整理&#xff1a;汪寒&#xff0c;浙江大学硕士。链接&#xff1a;https://www.aclweb.org/anthology/P19-1024.pdf动机KG的分布遵循长尾分布&#xff0c;大部分关系只有很少的三元组&#xff0c;且大体趋势是关系出现的频率和与之相关的不常见实体的比例呈反比关系。而…

LeetCode 944. 删列造序

1. 题目 题目链接 每个单词的位组成的列非降&#xff0c;最少删除几列。 示例 1&#xff1a;输入&#xff1a;["cba", "daf", "ghi"] 输出&#xff1a;1 解释&#xff1a; 当选择 D {1}&#xff0c;删除后 A 的列为&#xff1a;["c&quo…

Android官方开发文档Training系列课程中文版:添加ActionBar之自定义ActionBar样式

原文地址 : http://android.xsoftlab.net/training/basics/actionbar/styling.html ActionBar的样式 ActionBar提供了为用户提供了常见的习惯性的用户界面以及按钮功能。但是这并不意味着必须要和其它APP看起来一模一样。如果需要设计更符合产品品牌样式风格的话&#xff0c;…

美团 iOS 工程 zsource 命令背后的那些事儿

zsource 命令是什么&#xff1f; 美团 App 在 2015 年就已经基于 CocoaPods 完成了组件化的工作。在组件化的改造过程中&#xff0c;为了能够加速整体工程的构建速度&#xff0c;我们对需要集成进美团 App 的组件进行了二进制化&#xff0c;同时提供一个叫做 cocoapods-binary …

互联网大厂CTR预估前沿进展

文 | Ruhjkg编 | 小鹿鹿lulu源 | 知乎前言CTR&#xff08;click through rate&#xff09;预估模型是广告推荐领域的核心问题。早期主要是使用LR&#xff08;线性回归&#xff09;人工特征工程的机器学习方法&#xff0c;但是存在人工组合特征工程成本较高&#xff0c;不同任务…

以史为鉴 | 为什么要将「知识图谱」追溯到1956年?

本文转载自公众号&#xff1a;AI科技评论。作者 | Claudio Gutierrez 编译 | MrBear编辑 | Tokai以史为鉴&#xff0c;可以知兴替。纵观近期包括 AAAI、NeurIPS、IJCAI 在内的AI顶级会议&#xff0c;对图结构模型的研究是一个绕不开的话题&#xff0c;大量学者涌入这个赛道&…

Android官方开发文档Training系列课程中文版:添加ActionBar之ActionBar浮层效果

原文地址 : http://android.xsoftlab.net/training/basics/actionbar/overlaying.html 浮层效果的ActionBar 默认情况下&#xff0c;ActionBar总是会出现在Activity窗口的顶部&#xff0c;这样会稍微的减少Activity布局的剩余空间。如果需要在用户使用的时候隐藏和显示Action…

美团大规模微服务通信框架及治理体系OCTO核心组件开源

微服务通信框架及治理平台OCTO作为美团基础架构设施的重要组成部分&#xff0c;目前已广泛应用于公司技术线&#xff0c;稳定承载上万应用、日均支撑千亿级的调用。业务基于OCTO提供的标准化技术方案&#xff0c;能够轻松实现服务注册/发现、负载均衡、容错处理、降级熔断、灰度…

领域应用 | 知识结构化在阿里小蜜中的应用

本文转载自公众号&#xff1a;DataFunTalk。分享嘉宾&#xff1a;李凤麟 阿里巴巴 算法专家文章整理&#xff1a;付一韬内容来源&#xff1a;2019知识图谱前沿技术论坛出品社区&#xff1a;DataFun导读&#xff1a;阿里小蜜是阿里巴巴服务领域的重要人工智能产品&#xff0c;是…

内卷的世界,我们是否可以换一种思维生活?

文 | Flood Sung源 | 知乎前言今年最热门的词汇之一当属内卷了。似乎很多行业都由于份额有限而陷入内卷当中。最火的或许是清华学生的这张图&#xff0c;“骑车写代码”&#xff1a;图片来自网络虽然后来知道是这位同学怕关了屏幕程序就断了&#xff0c;但这不禁让人思考&#…

LeetCode 513. 找树左下角的值(按层遍历 queue)

1. 题目 给定一个二叉树&#xff0c;在树的最后一行找到最左边的值。 2. 解题 利用队列按层次遍历顺序&#xff0c;根右左&#xff0c;要求最左边的一个&#xff0c;所以根右左&#xff0c;最后一个队列元素就是答案 class Solution { public:int findBottomLeftValue(TreeN…

Hadoop YARN:调度性能优化实践

背景 YARN作为Hadoop的资源管理系统&#xff0c;负责Hadoop集群上计算资源的管理和作业调度。 美团的YARN以社区2.7.1版本为基础构建分支。目前在YARN上支撑离线业务、实时业务以及机器学习业务。 离线业务主要运行的是Hive on MapReduce&#xff0c; Spark SQL为主的数据仓库作…

LeetCode 39. 组合总和(排列组合 回溯)

1. 题目 给定一个无重复元素的数组 candidates 和一个目标数 target &#xff0c;找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 说明&#xff1a; 所有数字&#xff08;包括 target&#xff09;都是正整数。 解集不能包…

深度学习平台的未来:谁会赢得下半场?

今天这篇文章无意引战&#xff0c;只想从历史发展的角度来谈谈深度学习大背景下的开发工具变迁&#xff0c;以及对未来发展趋势的想象。TensorFlow&#xff1a;无力回天的深度学习里程碑不知道有多少小伙伴是2017年以前入坑深度学习的&#xff0c;那时候人工智能概念火热&#…

论文浅尝 | 基于属性嵌入的知识图谱实体对齐

论文笔记整理&#xff1a;王中昊&#xff0c;天津大学硕士&#xff0c;方向&#xff1a;自然语言处理。来源&#xff1a;AAAI2019论文链接&#xff1a; https://doi.org/10.1609/aaai.v33i01.3301297概述知识图谱之间的实体对齐的任务目标是去找到那些在两个不同的知识图谱上表…