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容器使用流程(在Docker构建的容器中实现安装ping工具)
- docker默认网络模式(Docker 网络模式及配置方式)
- docker运行镜像端口(docker镜像访问本地elasticsearch端口操作)
- 容器之间的通信docker(Docker容器互访的三种方法)
- docker镜像实例(Docker的镜像制作与整套项目一键打包部署的实现)
- docker compose 与docker区别(windows安装Docker与docker-compose套装的详细教程)
- docker容器启动失败怎么查找原因(解决docker容器启动后马上退出的问题)
- docker容器卡死(Docker容器不识别宋体等字体的解决方案)
- docker容器设置网站(docker容器中布置静态网站的实现)
- docker容器连接宿主机(docker 实现容器与宿主机无缝调用shell命令)
- dockerregistry原理(解决Docker x509 insecure registry的问题)
- 如何编写docker-compose(使用Docker Compose搭建 Confluence的教程)
- docker compose使用方法(docker和docker-compose一键安装教程支持在线和离线)
- 将docker中的镜像打包教程(本地使用docker打包部署镜像的方法)
- centosdocker镜像安装mysql(linux下利用Docker安装mysql的步骤)
- docker 容器怎么访问宿主机网络(Docker绑定固定IP/跨主机容器互访操作)
- 手机QQ与小米路由器在一起 明天揭晓,敬请期待(手机QQ与小米路由器在一起)
- 小米音乐与 QQ 音乐合作,便捷迁移会员(小米音乐与QQ音乐合作)
- 小米推出米兔儿童电话手表奥特曼版,799 元,支持微信 QQ(小米推出米兔儿童电话手表奥特曼版)
- 贾怀胤唱《白龙马》 炸场 了 没想到京剧还能这么玩(贾怀胤唱白龙马)
- 白龙马的改编学生版,快来看看(白龙马的改编学生版)
- 萌娃唱《白龙马》走红,那生动的小表情,网友直呼 简直是戏精(萌娃唱白龙马走红)
热门推荐
- jQuery toggleClass
- docker部署redis集群查看版本(docker下的 redis 之持久化存储详解)
- jupyternotebook搭建和使用(Jupyter Notebook运行JavaScript的方法)
- 使用TLS加密通讯远程连接Docker的示例详解(使用TLS加密通讯远程连接Docker的示例详解)
- dedecms怎样找回登录密码(织梦dedecms 去掉后台登陆验证码的方法)
- phpstudy安装包打不开(phpStudy访问速度慢和启动失败的解决办法)
- 虚拟主机windows和linux啥区别(Linux虚拟主机的好处有哪些?)
- 怎么用apache自定义网站根目录(Apache 二级域名实现方法介绍)
- php的流程控制语句(PHP基于swoole多进程操作示例)
- https服务器怎么打开(网站服务器配置是选HTTP还是HTTPS?)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9