标签: docker-registry

如何使用 docker-compose 将多个 docker 镜像推送到 docker hub?

我的 docker-compose 文件中有几个图像和服务,用于创建 PHP、Apache、MySql 和 PHPMyAdmin 环境来运行我的网站。任何人都可以帮助我如何在 Docker Hub 上推送我的所有图像或使用我的网站代码创建一个环境吗?

Dockerfile

FROM php:7.4-apache
RUN docker-php-ext-install mysqli
Run Code Online (Sandbox Code Playgroud)

docker-compose.yml

services:
  php:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - 80:80
    volumes:
      - ./src:/var/www/html/

  db:
    image: mysql
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: example

  phpmyadmin:
      image: phpmyadmin
      restart: always
      ports:
        - 8080:80
      environment:
         - PMA_ARBITRARY=1
Run Code Online (Sandbox Code Playgroud)

index.php 和src文件夹中我的所有网站代码

docker docker-registry docker-compose docker-push

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

Harbor机器人帐户:来自守护程序的错误响应:未经授权:需要身份验证

我总是得到:

Error response from daemon: Get "https://myregistry.example.com/v2/": unauthorized: authentication required
Run Code Online (Sandbox Code Playgroud)

当尝试使用以下方式登录时:

docker login --username robot$myproject+myrobotaccount myregistry.example.com
Run Code Online (Sandbox Code Playgroud)

docker docker-registry harbor

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

如何创建docker注册表镜像

我使用 MAC OS X。我想在本教程中使用镜像,它的第 1 步需要这样做:

docker --registry-mirror=http://<my-docker-mirror-host> -d
Run Code Online (Sandbox Code Playgroud)

但是,当我在终端中使用此命令时,它不起作用:

提供但未定义的标志:--registry-mirror 请参阅“docker --help”。

然后,我在教程中使用另一种方式:

您可以将 --registry-mirror 选项添加到 /etc/default/docker 中的 DOCKER_OPTS 变量

我不知道在哪里添加这个 DOCKER_OPTS。我想在客户端 1.7.0 中使用镜像。谁能告诉我如何设置镜子?
我使用这个命令来创建镜像:

docker run -d -p 5000:5000 -e REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY=/Users/v11/Documents/docker-registry --restart=always --name mirror -e STANDALONE=false -e MIRROR_SOURCE=https://registry-1.docker.io -e MIRROR_SOURCE_INDEX=https://index.docker.io registry
Run Code Online (Sandbox Code Playgroud)

我测试了它,发现它不像它描述的那样可以从本地注册表下载。即使我没有使用这个命令:

docker push localhost:5000/batman/ubuntu
Run Code Online (Sandbox Code Playgroud)

这个命令以前可以用,真不知道怎么回事。也许标志“STANDALONE=false”会影响?我想设置镜像,谁能告诉我怎么做。谢谢。

docker docker-registry

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

从私有注册表运行 Docker 容器的 Ansible 任务

我有一个172.20.20.20在 port 中运行的私有 Docker 注册表5000。我已经将图像推pruebasjeje送给它。

现在,我需要使用 Ansible 任务拉取并运行图像:

   - name: run container
     docker:
       registry: 172.20.20.20:5000
       insecure_registry: true
       image: pruebasjeje
       state: reloaded
       pull: always
       ports:
        - "8080:8080"
Run Code Online (Sandbox Code Playgroud)

但是当我执行它时,我收到这个错误:

致命:[本地主机]:失败!=> {"changed": false, "changes": ["{\"status\":\"Pulling repository docker.io/library/pruebasjeje\"}\r\n", "{\"errorDetail\": {\"message\":\"Error: image library/pruebasjeje:latest not found\"},\"error\":\"Error: image library/pruebasjeje:latest not found\"}\r\n"] , "failed": true, "msg": "无法识别的状态。", "status": ""}

似乎是在 docker.io 中寻找图像。我应该如何写我的任务才能做我想做的事?

谢谢。

ansible docker-registry

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

如何在 docker remote api 中创建容器?(go-dockerclient)

我正在使用go-dockerclient库,我想使用CreateContainer go-dockerclient 方法创建容器,但是我应该在哪里传递我创建此函数的 docker 图像 ID

func CreateContainer(w http.ResponseWriter, r *http.Request){

    client,err:=docker.NewTLSClient(Endpoint,Cert,Key,Ca)
    if err!=nil{
        panic(err)
    }
    container,er:=client.CreateContainer(docker.CreateContainerOptions{Name:"cont"})
    if er!=nil{
        panic(err)
    }

 }
Run Code Online (Sandbox Code Playgroud)

例如,如果我有一个给定的图像 ID,我应该在哪里添加它?

go docker dockerfile docker-registry docker-compose

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

备份和还原Nexus OSS 3

我想知道是否有一种标准方法来备份和恢复Nexus OSS 3 Artifact Repository.

是否足以备份"数据"目录并将其复制到正在运行的新实例?

我使用不同类型的存储库 - Maven,NPM,Docker等.

nexus sonatype maven-central docker-registry npmjs

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

如何使用私有 docker 注册表定义 Kubernetes 作业?

我有一个简单的 Kubernetes 作业(基于http://kubernetes.io/docs/user-guide/jobs/work-queue-2/示例),它使用了一个 Docker 映像,该映像已作为公共映像放置在我的 dockerhub 上帐户。这一切看起来像这样:

工作.yaml :

apiVersion: batch/v1
kind: Job
metadata:
  name: job-wq-2
spec:
  parallelism: 2
  template:
    metadata:
      name: job-wq-2
    spec:
      containers:
      - name: c
        image: jonalv/job-wq-2
      restartPolicy: OnFailure
Run Code Online (Sandbox Code Playgroud)

现在我想尝试使用需要身份验证的私有 Docker 注册表,如下所示:

docker login https://myregistry.com

但是我找不到有关如何将用户名和密码添加到 job.yaml 文件的任何信息。它是如何完成的?

docker kubernetes docker-registry

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

启用TLS的反向代理(Traefik)后的Docker注册表-远程错误:错误的证书

所以我在这里做所有被Docker化的工作。Traefik和我的docker Registry实例一样都在容器中运行。如果我在注册表中单击,则可以从注册表中正常进行推/拉操作mydomain.com:5000/myimage

问题出在我尝试使用443击打它时mydomain.com/myimage。我在这里设置的是Traefik反向代理,在侦听443 mydomain.com,并将内部请求转发到:5000我的Registry实例。

当我从Traefik网址进行推/拉时,它挂起并倒数,等待在循环上重试。当我查看注册表的日志时,每一个我都可以看到实例IS实际上与反向代理Traefik通信,但是,我一遍又一遍地(在客户端的每次重试中)都遇到此错误:

2018/05/31 21:10:43 http: TLS handshake error from proxy_container_ip:port: remote error: tls: bad certificate

关于TLS问题,Docker Registry确实非常严格。由于我仍在开发中,因此我在这里使用所有自签名证书。知道是什么原因导致此错误吗?我假设Traefik代理检测到注册表提供的证书不可信(自签名),因此没有完成“推送”请求,反之亦然-发送注册表时,注册表返回到Traefik代理会检测到它不受信任。

如果需要,我可以提供其他信息。当前设置是Traefik和Registry都有自己的.crt和.key文件集。这两个(当然)都启用了TLS。

谢谢。

ssl reverse-proxy docker docker-registry traefik

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

是否可以在 Dockerfile 中使用 FROM 指令拉取最新的镜像?

我想知道在继续构建之前,是否可以FROM在 Dockerfile 中制作一条指令来拉取最新的图像(例如image:latest)?

目前,仅当尚未在本地存储图像时才会拉取图像。

cloud docker kubernetes dockerfile docker-registry

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

从私有存储库中 Kubernetes 上的图像拉取问题

我创建了注册表积分,当我像这样申请 pod 时:

apiVersion: v1
kind: Pod
metadata:
  name: private-reg
spec:
  containers:
  - name: private-reg-container
    image: registry.io.io/simple-node
  imagePullSecrets:
  - name: regcred
Run Code Online (Sandbox Code Playgroud)

它工作成功拉图像

但如果我尝试这样做:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: node123
  namespace: node123
spec:
  replicas: 5
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 2
      maxUnavailable: 0
  selector:
    matchLabels:
      name: node123
  template:
      metadata:
          labels:
              name: node123
      spec:
          containers:
              - name: node123
                image: registry.io.io/simple-node
                ports:
                - containerPort: 3000
          imagePullSecrets:
             - name: regcred
Run Code Online (Sandbox Code Playgroud)

在 pod 上会得到错误:ImagePullBackOff

当我描述它时

无法拉取镜像“registry.io.io/simple-node”:rpc 错误:代码 = 未知描述 = 来自守护进程的错误响应:获取 https://registry.io.io/v2/simple-node/manifests/latest:没有基本的身份验证凭据

有谁知道如何解决这个问题?

bash kubernetes docker-registry

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