如何使用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使用统一版本,每个项目的版本需要固定,便于迭代。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • docker私有仓库harbor搭建过程

    1.准备 1.1 harbor下载 harbor下载地址:链接添加链接描述 然后我们可以选择自己需要的版本,我这边选择的是v1.8.3 也可以去 wget https://storage.googleapis.com/harbor-releases/release-1.8.0/harbor-offline-installer-v1.8.3.tgz 1.2 docker安装 docker 安装以及yum源的安装可以参考<docker入门教程(二)>文章. 2.搭建 2.1 解压harbor ta

  • docker配置修改阿里云镜像仓库的实现

      docker本身的仓库非常慢,但是国内有阿里云的镜像仓库非常快.当然也可以用其他地方的镜像仓库,有很多的,配置阿里云的方式如下: 配置步骤 1.申请阿里云账号   首先百度搜索阿里云,进入官网,注册阿里云账号,可以用淘宝账号登录. 2.找到阿里云加速器地址   注册之后,登录,先点击控制台.如下图:   然后按照下图操作,找到加速器.   但是首次点击,会提示你开通这种服务,你只要输入上密码即可,然后:   如上图框选位置,将它复制下来即可. 3.配置阿里云镜像仓库   然后在我们的linu

  • Docker搭建Harbor公开仓库的方法示例

    上一篇博文讲到了Registry私有仓库,今天配置一下Harbor仓库,Harbor呢可以作为公开仓库,也可以作为私有仓库,今天就来配置一下Harbor如何实现公开仓库和私有仓库. 关于Registry公开仓库请访问博文:部署Docker私有仓库Registry Registry和Harbor的区别 Registry:是一个私有镜像仓库,图形化支持较差,小型企业使用: Harbor:支持可视化管理,支持私有仓库和公有仓库,支持镜像的管理控制: Docker Harbor的优点 VMWare公司的

  • 使用docker+devpi搭建本地pypi源的方法

    前一段时间开发需要经常使用 pip 下载,虽然把 pip 源改成了国内源,但我对速度还是不满意,更为重要的是集成 测试环境是离线的,要在集成测试环境开发显然需要搭建自己的本地 pip 源.在使用 devpi 之前我曾使用过 pip2pi,但有个 bug 导致离线环境下的 tox 命令总是失败,所以最后采用 devpi 搭建 pip 源.这里使用 docker 部署,方便又快速,如果不小心弄崩了也只需要重新运行 docker 容器就好了.如果你的环境没有安装 docker 可以自行搜素安装方法,比

  • docker 查询或获取私有仓库(registry)中的镜像的方法

    docker 查询或获取私有仓库(registry)中的镜像,使用 docker search 192.168.1.8:5000 命令经测试不好使. 解决: 1.获取仓库类的镜像: [root@shanghai docker]# curl -XGEThttp://192.168.1.8:5000/v2/_catalog {"repositories":["nginx"]} 2.获取某个镜像的标签列表: [root@shanghai docker]# curl -XG

  • DockerHub 镜像仓库的使用详解

    之前我们使用的镜像都是从 DockerHub 公共仓库拉取的,我们也学习了如何制作自己的镜像,但是通过 tar 包的方式实现镜像的备份恢复迁移对于团队协作开发并不是特别友好,我们也可以将镜像推送至 DockerHub 仓库方便使用. 温馨提示:如果构建的镜像内携带了项目数据,建议还是使用私有仓库比较好. 注册账号 官网:https://hub.docker.com/ 登录账号 通过 docker login 命令输入账号密码登录 DockerHub. 推送镜像至仓库 为了方便测试,我们将 hel

  • Docker搭建私有仓库之Harbor的步骤

    Harbor Harbor是构建企业级私有docker镜像的仓库的开源解决方案,它是Docker Registry的更高级封装, 它除了提供友好的Web UI界面,角色和用户权限管理,用户操作审计等功能外,它还整合了K8s的插件(Add-ons)仓库,即Helm通过chart方式下载,管理,安装K8s插件,而chartmuseum可以提供存储chart数据的仓库[注:helm就相当于k8s的yum].另外它还整合了两个开源的安全组件,一个是Notary,另一个是Clair,Notary类似于私有

  • Maven一键部署Springboot到Docker仓库为自动化做准备(推荐)

    1 前言 前面<Springboot整合MongoDB的Docker开发,其它应用也类似>讲解了如何做Docker开发.如何把Springboot应用打包成一个镜像,但它是手动的,本文将讲解如何通过maven一键打包部署. 2 两个maven插件搞定 可以使用maven插件实现一键部署,这两个插件还是同一个公司的产品,就是著名的音乐流服务平台Spotify. 2.1 spotify/docker-maven-plugin 2.1.1 基础用法 该插件可以实现镜像打包和push到仓库,无Dock

  • 如何使用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:808

  • 利用Docker搭建Nexus私有仓库实现Maven私服

    目录 一.前言 二.Nexus搭建 三.配置仓库 3.1 配置加速库 3.2 创建私有仓库 四.配置权限 五.上传Jar包 六.使用Jar包 一.前言 相信国内的小伙伴都经历过,Gradle.Maven.NPM下拉速度过慢的情况.我们一般的做法是配置阿里云这样的中央仓库.加速问题是可以采用这种方式解决,但如果是团队内部的库想进行上传分发,传到Maven Central这种共用的Maven仓库就不太合适了.那样保密性和时效性都将收到破坏.所以在团队内部,我们一般都会搭建局域网内私有的中央仓库.支撑

  • Docker搭建本地私有仓库的详细步骤

    和Mavan的管理一样,Dockers不仅提供了一个中央仓库,同时也允许我们使用registry搭建本地私有仓库.使用私有仓库有许多优点: 一.节省网络带宽,针对于每个镜像不用每个人都去中央仓库上面去下载,只需要从私有仓库中下载即可: 二.提供镜像资源利用,针对于公司内部使用的镜像,推送到本地的私有仓库中,以供公司内部相关人员使用. 接下来我们就大致说一下如何在本地搭建私有仓库. 环境准备 环境:两个装有Docker的Ubuntu虚拟机 虚拟机一:192.168.112.132 用户开发机 虚拟

  • 搭建pypi私有仓库实现过程详解

    1. 安装依赖 pip install pypiserver passlib 2. 创建packages目录 mkdir packages 3. 以无认证方式启动pypiserver pypi-server -p 8080 -P . -a . ./packages 4. 编写.pypirc配置文件 [distutils] index-servers = pypi local [pypi] username:xxx password:xxxx [local] repository:http://l

  • Docker容器搭建本地私有仓库详情

    目录 前言 一.首先下载registry镜像 二.在daemon.json文件中添加私有镜像仓库的地址并重启 三.创建registry容器并开放端口 四.给镜像打标签后上传到私有仓库 五.获取私有仓库列表查看是否上传成功 六.验证:从私有仓库下载镜像 前言 Docker 官方提供了一个搭建私有仓库的镜像 registry ,运行该镜像的容器并且对外暴露5000端口就ok了.通常我们在docker拉取的镜像都是在docker hub或quay.io等公有仓库获取,那么在实际工作中,每个公司如果使用

  • Docker容器harbor私有仓库部署和管理

    目录 前言 一.Harbor概述 二.Harbor的特性 三.Harbor的构成 四.Harbor私有仓库搭建 (1)安装docker-compose (2)安装harbor (3)新建项目 (4)镜像推送 (5)从私有仓库下载镜像 (6)Harbor管理 前言 之前我们搭建了本地私有仓库,但是本地仓库的管理和使用比较麻烦,个原生的私有仓库并不好用,所以我们采用harbor私有仓库,也叫私服,更加人性化. 一.Harbor概述 Harbor是VMware公司开源的企业级Docker Regist

  • Docker 教程之私有仓库详解

    私有仓库 有时候使用 Docker Hub 这样的公共仓库可能不方便,用户可以创建一个本地仓库供私人使用. 本节介绍如何使用本地仓库. docker-registry 是官方提供的工具,可以用于构建私有的镜像仓库. 安装运行 docker-registry 容器运行 在安装了 Docker 后,可以通过获取官方 registry 镜像来运行. $ sudo docker run -d -p 5000:5000 registry 这将使用官方的 registry 镜像来启动本地的私有仓库. 用户可

  • Docker搭建私有镜像仓库的方法

    和Mavan的管理一样,Dockers不仅提供了一个中央仓库,同时也允许我们使用registry搭建本地私有仓库. 使用私有仓库有许多优点: 节省网络带宽,针对于每个镜像不用每个人都去中央仓库上面去下载,只需要从私有仓库中下载即可: 提供镜像资源利用,针对于公司内部使用的镜像,推送到本地的私有仓库中,以供公司内部相关人员使用. 现在Docker用处越来越多了,所以今天就想着搭建一个私有镜像仓库来维护内部我们自己的镜像. 环境 CentOS 7.x Docker 1.12.6 安装 docker-

  • Docker搭建私有仓库(registry与Harbor)的实现

    随着docker使用的镜像越来越多,就需要有一个保存镜像的地方,这就是仓库.目前常用的两种仓库:公共仓库和私有仓库.最方便的就是使用公共仓库上传和下载,下载公共仓库的镜像是不需要注册的,但是上传时,是需要注册的. 私有仓库最常用的就是registry.Harbor两种,那接下来详细介绍如何创建私有仓库. 一.搭建registry私有仓库 1)案例描述 两台docker服务器,dockerA创建registry私有仓库,dockerB用于测试! 2)案例实例 (1)DockerA服务器的操作 [r

随机推荐