• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    如何使用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下的 redis 之持久化存储详解
    下一篇:Docker默认网段修改实现方法解析
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    如何使用Docker搭建pypi私有仓库 如何,使用,Docker,搭建,pypi,