标签: docker-registry

如何使用nginx进行用户级访问控制

我希望将nginx用于特定网址的用户级访问控制,

对于其他用户<uid>,他们仅限访问http://myserver.com/<uid>(METHOD POST).像用户larrycai只能POST到http://myserver.com/larrycai/xxx.

我不希望在上游服务器中拥有此控件.

基本身份验证用于访问身份验证,如下所示

server {
    ...
    auth_basic "Auth";
    auth_basic_user_file conf/htpasswd;
}
Run Code Online (Sandbox Code Playgroud)

现在,我如何将经过身份验证的用户映射到自己的URL?(我是nginx的新手).

我的用例是docker-registry前面的nginx docker容器,可以更好地控制用户访问.

2015.1.1更新

uid未与UNIX系统相关的,它是唯一的应用程序,它被映射到REST接口

是否可以使用额外的模块,如openresty(基于lua)?

lua nginx openresty docker-registry

2
推荐指数
1
解决办法
4072
查看次数

Docker 推送到私有注册表问题

这是我的设置:

Docker 守护进程作为不安全的注册表运行,如下所示:

docker -d --iptables=true --insecure-registry 1.2.3.4:5000
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试从远程系统推送到该注册表时,它给了我不同的错误。

错误 1:

docker push 1.2.3.4:5000/test
EOF error: 
FATA[0002] Error: Invalid registry endpoint 1.2.3.4:5000/v1: Get 1.2.3.4:5000/v1/_ping: EOF 
Run Code Online (Sandbox Code Playgroud)

错误2:得到错误2后,我将ip添加到docker主机上的/etc/hosts。如果我尝试“docker push docker:5000/test”,它会尝试使用 https 并失败并显示错误 1,如果我尝试“docker push docker/test”,它会要求我输入用户名和密码。这是预期的吗??

Error:
The push refers to a repository [docker/test] (len: 1)
Sending image list

Please login prior to push:
Username: docker
Password:
Email: docker@internet.com

FATA[0011] Error response from daemon: Registration: "Forbidden username"
Run Code Online (Sandbox Code Playgroud)

如果它需要身份验证,我在哪里可以找到我的用户名和密码。我也可以在没有身份验证的情况下启动 docker 注册表吗??

docker docker-registry

2
推荐指数
1
解决办法
7109
查看次数

Docker 32位Image已下载,但它告诉它一个64位架构

我可能在这里完全错了,但是我从docker注册表中删除了32bit/ubuntu,并且我运行uname -a得到了x86_64

?  ~  docker images
REPOSITORY               TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
erlang-build-box         latest              fd61e832201b        7 weeks ago         1.841 GB
hello-world              latest              e45a5af57b00        9 weeks ago         910 B
32bit/ubuntu             14.04               6de534a1b6e3        4 months ago        290.7 MB
phusion/passenger-full   0.9.10              29eb0419ab6f        10 months ago       649.3 MB
?  ~  docker run -t -i 6de534a1b6e3 /bin/bash
root@c40d7c09be96:/# uname -a 
Linux c40d7c09be96 3.16.7-tinycore64 #1 SMP Tue Dec 16 23:03:39 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
root@c40d7c09be96:/# uname -m
x86_64 …
Run Code Online (Sandbox Code Playgroud)

linux ubuntu docker dockerhub docker-registry

2
推荐指数
1
解决办法
1766
查看次数

如何在注册表服务器上的docker注册表中列出图像?

目前我正在将图像从一台机器推送到另一台机器.它的成功我可以根据推送机器的HTTP状态或基于注册表服务器的日志来确定.此时我想搜索我服务器上的注册表中的实际内容.我到目前为止发现的是来自外部的API调用,即使你调用它,你也必须知道图像的确切名称及其标记方式.在我的情况下,当我可以直接访问它时,我只想登记我的注册表中当前的图像.我没有找到任何相关的命令.

docker docker-registry

2
推荐指数
1
解决办法
5800
查看次数

如何推动仅使用Docker推送改变了什么?

.这是我创建图像的方式:

  1. 得到了最新的Ubuntu图像
  2. 作为容器运行并附加到它
  3. 从docker容器中的git克隆源代码
  4. 标记并将docker镜像推送到我的注册表

.从另一台机器我拉,改变并推动它:

  1. Docker从注册表中拉出来
  2. 使用拉出的图像启动容器并附加到其上
  3. 更改克隆的git目录中的内容
  4. 停止容器,标记并将其推送到注册表

现在我看到的问题是,每次重复B时,它都会尝试将~600MB(这是公共图像层)上传到注册表,这在我的情况下需要很长时间.

有没有办法避免上传整个600MB,而是推送唯一已更改的目录?

我究竟做错了什么?你们如何使用docker进行频繁推送?

docker docker-registry

2
推荐指数
1
解决办法
2842
查看次数

如何为私有注册表登录凭据创建"RegistryAuth"

我使用以下命令创建了一个私人注册表:

docker run -d -p 5000:5000 --restart = always --name registry -e REGISTRY_STORAGE_DELETE_ENABLED = true registry:2

我正在尝试使用Golang docker客户端API - > ImagePush将图像推送到此注册表

func(cli*Client)ImagePush(ctx context.Context,image string,options types.ImagePushOptions)(io.ReadCloser,error)

当我放大ImagePushOptions时,我看到结构是

type ImagePullOptions struct {All bool RegistryAuth string // RegistryAuth是注册表的base64编码凭据PrivilegeFunc RequestPrivilegeFunc}

AnyIdea如何创建RegistryAuth String

我尝试过以下方法:

类型AuthArgs struct {用户名字符串json:"username"密码字符串json:"password"电子邮件字符串json:"email"ServerAddress字符串json:"serveraddress"}

func(){

m:= AuthArgs {"docker","docker","","localhost:5000"} b,错误:= json.Marshal(m)

fmt.Println(string(b))encodeStr:= base64.StdEncoding.EncodeToString(b)

refStr:="localhost:5000 /"+ image +":"+ tag fmt.Println(refStr)resp,err:= cli.ImagePush(ctx,refStr,types.ImagePushOptions {RegistryAuth:encodeStr})我被困3天,任何帮助都会很棒

go docker docker-registry

2
推荐指数
1
解决办法
885
查看次数

从私有 Docker Registry 中删除镜像的方法

我设置了一个私有 Docker 注册表,并且我已经将一些图像从其他机器推送到这个注册表。它是一个 V2 注册表。我不知道从存储库中删除图像的新方法,因为这些推送的图像没有在 CLI 中列出“docker 图像”。

谁能建议我从磁盘中删除这些图像的正确方法?

非常感谢您的回答。

谢谢

registry containers docker docker-registry

2
推荐指数
1
解决办法
1万
查看次数

我如何向第三方私有Docker注册中心验证GKE?

我想将Pod部署到我的GKE Kubernetes集群中,该集群使用来自私有第三方Docker注册表(而不是 GCP的私有Docker注册表)的映像。

如何为GKE Kubernetes群集提供该私有存储库的凭据,以便可以在需要时提取图像?

google-cloud-platform kubernetes google-kubernetes-engine docker-registry gcp

2
推荐指数
1
解决办法
753
查看次数

无法使用Artifactory插件将Docker Image推送到Jenkins管道中的Artifactory

我在Artifactory上使用Docker Registry.我可以使用docker命令拉/推图像.现在我尝试使用Jenkins pipline推送图像.

图像被调用registry-url/docker/image:latest.我在Artifactory上有一个docker存储库,它被调用docker.(我能够使用docker命令拉动并推送到这个仓库).

这个阶段描述了我的Artifactory配置:

...
        stage('Deploy Docker image'){
            steps {
                script {
                    def server = Artifactory.server 'xxx'
                    def rtDocker = Artifactory.docker server: server
                    def buildInfo = rtDocker.push('registry-url/image:latest', 'docker')
                    //also tried:
                    //def buildInfo = rtDocker.push('registry-url/docker/image:latest', 'docker') 
                    //the above results in registry/docker/docker/image..
                    server.publishBuildInfo buildInfo
                }
            }
        }
...
Run Code Online (Sandbox Code Playgroud)

当我使用不同的路径时,我面临的manifest.json错误可能是正常的.我可以手动下载manifest.json : https://registry-url/artifactory/docker/image/latest/manifest.json.

我在Jenkins上使用了一个非常新版本的Docker:

Docker version 18.01.0-ce, build 03596f51b1
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.但是当我运行管道时,我在Jenkins中收到以下错误(需要50秒):

Pushing image: registry-url/image:latest
...
com.github.dockerjava.api.exception.DockerClientException: Could not push image: unknown: Not Found
    at com.github.dockerjava.core.command.PushImageResultCallback.awaitSuccess(PushImageResultCallback.java:49)
    at org.jfrog.hudson.pipeline.docker.utils.DockerUtils.pushImage(DockerUtils.java:60) …
Run Code Online (Sandbox Code Playgroud)

artifactory jenkins docker docker-registry jenkins-pipeline

2
推荐指数
1
解决办法
3811
查看次数

在何处配置Docker默认注册表URL?

我指的是此链接-Docker pull

默认情况下,docker pull从Docker Hub(https://hub.docker.com)提取图像。

在此处输入图片说明

我想知道此链接在我们本地计算机设置中的何处配置。我正在Windows 10上使用Docker。

docker docker-registry docker-repository

2
推荐指数
1
解决办法
3705
查看次数