如何使用Docker搭建pypi私有仓库
作者:大碗油泼 发布时间:2023-08-28 01:58:58
标签:Docker,搭建,pypi,私有,仓库
一、搭建
1、准备htpasswd.txt文件
该文件内容包含上传包至仓库时验证的用户名和密码
pip install htpasswd
htpasswd -sc htpasswd.txt <username>
2、启动容器
docker run --name pypiserver --restart=always -v /data/pypi/packages:/data/packages -v /root/htpasswd.txt:/data/htpasswd.txt -p 8080:8080 -d pypiserver/pypiserver -P htpasswd.txt packages
#需在宿主机上提前建立好data目录及htpasswd.txt文件
3、设置nginx反向代理
cat /usr/local/nginx/conf/exten/pypi.conf
upstream pypi {
server 127.0.0.1:8080;
}
server {
listen 80;
server_name pypi.local.me;
location / {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://pypi;
}
}
二、使用
1、建立测试项目
# 建立项目目录
mkdir -p linode_example/linode_example
# 建立setup.py
cat linode_example/setup.py
from setuptools import setup
setup(
name='linode_example',
packages=['linode_example'], #上传到仓库后的目录,如http://pypi.local.me/linode_example
description='Hello world enterprise edition',
version='0.1', # 版本号
url='http://github.com/example/linode_example',
author='Linode',
keywords=['pip','linode','example']
)
# 该文件内容为说明性内容,可根据自己的包的情况进行设置
# 建立__init__.py 主程序
cat linode_example/linode_example/__init__.py
def hello_word():
print("hello world")
# 打包并上传
python3.7 setup.py sdist # 打包,执行完后会在dist目录下有个tar包
twine upload --repository-url http://pypi.local.me dist/* # 上传时需要输入用户名和密码:admin/admin123
2、使用上传至仓库的包
pip install -i http://pypi.local.me --trusted-host pypi.local.me linode_example
打包注意事项:
1、所有需要打包的项目在git仓库中的目录结构必须一致,便于jenkinsfile自动化集成;
2、所有需要打包的项目的setup.py文件必须位于项目根目录下;
3、python使用统一版本,每个项目的版本需要固定,便于迭代。
来源:https://www.cnblogs.com/aerospace191/p/13985654.html
0
投稿
猜你喜欢
- 我是侠客,自从创办“侠客站长站”的过程中,我真正的了解了我自己。如果,你想了解侠客站长站的成长,可以搜索“侠客站长站”的域名注册时间、ale
- 近期读了一些关于网络入侵的文章,感觉到增强网络安全是一项日常性的工作,并不是说网络设备、服务器配置好了就绝对安全了,操作系统和一些软件的漏洞
- named查询使用的是UDP协议和端口53。响应通过UDP返回,除非他们大于512K,这种情况使用TCP。服务器之间的“区传送”则都使用TC
- DNS软件是黑客热衷攻击的目标,它可能带来安全问题。这里是一些保护DNS服务器最有效的方法。1.使用DNS转发器DNS转发器是为其他DNS服
- 11月6日消息,科技业市场研究机构IDC周四公布调查,今年第3季全球手机市场龙头宝座,依旧由挪威大厂诺基亚稳坐;但在智能手机战场厮杀中,黑莓
- 相信每个人都对 回收站(trashcan)很熟悉,因为无论是对 Linux 用户,还是 Windows 用户,或者 Mac 用户来说,它都很
- 10月14日国际报道 若你的笔记本或移动设备内建有加速感应器,新的FireFox 3.6版将可侦测笔记本的方向,并将该信息传给浏览器的应用程
- 网址:http://www.google.cn/intl/zh-CN/renrou/index.html什么是人肉搜索?人肉搜索与刺青、美白
- 北京时间1月3日消息,据国外媒体报道,新闻出版总署(以下简称“版署”)日前发出通知称,已终止《魔兽世
- 今天的教程来讲讲怎么让你的外贸网站更加人性化。人性化原意是指厂家在设计产品时力求从人体工程学、生态学和美学等角度达到完美,从而真正实现科技以
- 北京时间5月1日消息 据消息人士透露,微软董事会周三召开会议,讨论如何打破在收购雅虎问题上的僵局,会议结束后将发布公告。目前还不清楚微软是发
- 康盛的系列产品,包括Discuz、UCHome、Supesite都集成了同一个用户系统——UCenter,用户登录的密码也保存在UCente
- 在9月10日晚的“阿里巴巴十周年庆典”上,最让人印象深刻的不是马云的“朋克装&a
- 在login.asp中,接收用户输入的Userid和Password数据,并分别赋值给user和pwd,然后再用sql="sele
- 1、 激愤运用法通过主题的倡导,让大家一致产生赞同、鼓舞、荣耀等心态,或者揭露某事件让会员感觉到耻辱、鄙视‘讨厌的感觉,内容一定是简短完整的
- 火如荼的IT行业,除了许多地方让人无奈之外,倒也培养出了许多互联网时代特有的人才。今便借《不可错过的IT女孩TOP10》一文,来调侃下各种I
- 美国主机空间商实在太多太多了,共性的东西很多,每个空间有各有其个性的地方,经常有朋友问到有什么区别啊,空间商有什么特色啊,今天美国主机评论家
- 距北京奥运会开幕不到一个月,奥运比赛的绝大部分赛程均已敲定。16天跌宕起伏的赛事充满了令人眼花缭乱的看点,为了方便读者找到每天比赛的重点,我
- 为使各位站长能更方便地使用该支付功能,Discuz! 积分充值增加了财付通支付接口及方便的测试功能,您只需在后台绑定财付通商户号及密钥并进行
- 谷歌主要的收入来自搜索广告,在图片显示广告方面还是一片“处女地”。花旗集团一分析师预计说,明年,包括Youtube在内的网络资产可以为谷歌贡