docker镜像内安装python包(如何使用Docker搭建pypi私有仓库)
类别:服务器 浏览量:568
时间:2021-11-08 16:31:04 docker镜像内安装python包
如何使用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使用统一版本,每个项目的版本需要固定,便于迭代。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
您可能感兴趣
- docker部署golang(如何使用Docker部署Go Web应用的实现)
- docker怎么使用supervisor(supervisor下的Dockerfile的多服务镜像封装操作)
- docker查看某个容器状态(docker 移除掉运行不正常的container操作)
- docker重启报错(Docker启动为Exited状态)
- docker启动项目需要tomcat吗(docker安装tomcat并部署Springboot项目war包的方法)
- 如何删除docker中已停止的容器(一条命令重启所有已停止的docker容器操作)
- docker容器停止后无法启动(解决docker容器重启之后/etc下某些配置文件被重置的问题)
- docker导出日志(excel导出在docker环境中总是失败的问题)
- docker管理工具选择(Docker可视化管理工具DockerUI的使用)
- docker中运行项目的配置(Docker中搭建配置Git环境的过程)
- springboot docker教程(在Idea中使用Docker部署SpringBoot项目的详细步骤)
- linux机器重启了docker容器还在不(Linux下docker 容器退出bash的两种实现方法)
- idea生成dockerfile(idea集合docker实现镜像打包一键部署)
- docker容器使用流程(在Docker构建的容器中实现安装ping工具)
- docker-compose 原理(详解docker compose 用法)
- docker中国加速镜像怎么设置(Docker 安装及配置镜像加速的实现)
- oppo手机的三种录屏方法,你知道有哪些吗(oppo手机的三种录屏方法)
- 吉林神秘传染链跨省 传染源尚未找到,舒兰 封城(吉林神秘传染链跨省)
- 吉林舒兰 封城 聚集性疫情传播链已延至沈阳,有一个细节让人忧心(吉林舒兰封城)
- 1天密接者猛增77人,患者轨迹透露危险信号 吉林市全面封闭管理(1天密接者猛增77人)
- 吉林舒兰 封城 15人确诊 276人隔离,出现跨省传播(吉林舒兰封城)
- 四月新番CP人气榜公布,《剃须》两度上榜,沙优不是女朋友(四月新番CP人气榜公布)
热门推荐
- html5的canvas图形绘制技术(导出HTML5 Canvas图片并上传服务器功能)
- mysqldump导入导出(MySQL官方导出工具mysqlpump的使用)
- sqlserver2008远程连接设置(如何开启SqlServer 远程访问)
- nvarchar(max)
- pythonturtle库画图代码(用Python中的turtle模块画图两只小羊方法)
- css如何两列布局(浅谈CSS 多栏布局Multi-Columns Layout)
- 云ip内网虚拟机使用(新网云主机如何使用密钥进行登陆)
- nginx动静分离的原理(Nginx动静分离实现案例代码解析)
- php性能优化的思路和步骤(FastCGI轻松搞定IIS7.5+PHP5.6.0环境)
- springboot项目部署到docker(IDEA 通过docker插件发布springboot项目的详细教程)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9