如何搭建私有的chatgpt 教你如何搭建Docker私有仓库

默认分类1年前 (2023)发布 admin
3,035 0
ChatGPT国内版

前言

​创建私有仓库的目的在于私密性,适用于团体内部,如公司部门,企业内部等需要在团体成员中共享相关资源的场景。

​那么如何搭建属于自己企业或团体成员可以使用的私有仓库呢?笔者将通过下面的实际搭建流程结合步骤描述来介绍私有仓库搭建的具体过程。

实际案例搭建过程1、下载镜像

[root@localhost ~]# docker pull registry  Using default tag: latest  latest: Pulling from library/registry  486039affc0a: Pull complete   ba51a3b098e6: Pull complete   8bb4c43d6c8e: Pull complete   6f5f453e5f2d: Pull complete   42bc10b72f42: Pull complete   Digest: sha256:7d081088e4bfd632a88e3f3bcd9e007ef44a796fddfe3261407a3f9f04abe1e7  Status: Downloaded newer image for registry:latest  docker.io/library/registry:latest  

2、生成容器,开放5000端口

[root@localhost ~]# docker create -it registry /bin/bash  fd51aa59dc5cea7b589d0403e562cb8f0098c3a8a7da239572dd5bfd9423ec96  [root@localhost ~]# docker ps -a  CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES  fd51aa59dc5c        registry            "/entrypoint.sh /bin…"   10 seconds ago      Created                                 optimistic_saha  #建议直接执行下面的这个命令,因为笔者遇到start这个容器发现退出的状态码非0(后面解决了,使用/bin/sh环境即可)  [root@localhost ~]# docker run -d -p 5000:5000 -v /data/registry:/tmp/registry registry  ceb498d622ab743fc858a993e3870f9831e20436cb71f7225215f1f0899571f1  [root@localhost ~]# docker ps -a  CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES  ceb498d622ab        registry            "/entrypoint.sh /etc…"   2 seconds ago       Up 2 seconds        0.0.0.0:5000->5000/tcp   strange_swanson  

run -d -p 5000:5000 -v /data/:/tmp/ 命令的解释:

-d ——守护进程

如何搭建私有的chatgpt 教你如何搭建Docker私有仓库

-v ——数据卷设置{/data/表示的宿主机系统中的一个绝对路径,没有的时候会自动创建,/tmp/表示容器内部的目录}

#宿主机目录

[root@localhost ~]# ls /  bin  boot  data  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var  [root@localhost ~]# ls /data/  registry  

#容器内部目录

[root@localhost ~]# docker exec -it ceb498d622ab /bin/sh  / # ls /  bin            etc            media          root           srv            usr  dev            home           mnt            run            sys            var  entrypoint.sh  lib            proc           sbin           tmp  / # ls tmp/  registry  

3、客户端设置.json文件 (指定私有仓库位置)

[root@localhost ~]# vim /etc/docker/daemon.json     {    "insecure-registries": ["20.0.0.149:5000"], #将本地服务器作为私有仓库位置    "registry-mirrors": ["https://5m9y9qbl.mirror.aliyuncs.com"]  }  [root@localhost ~]# systemctl restart docker  

4、创建本地的镜像标签

[root@localhost ~]# docker pull httpd  Using default tag: latest  latest: Pulling from library/httpd  123275d6e508: Pull complete   e984dd982a6e: Pull complete   963280e5cf81: Pull complete   6faf90d050b2: Pull complete   962b56984bb0: Pull complete   Digest: sha256:d5dc0d279039da76a8b490d89a5c96da83a33842493d4336b42ccdfbd36d7409  Status: Downloaded newer image for httpd:latest  docker.io/library/httpd:latest  

如何搭建私有的chatgpt 教你如何搭建Docker私有仓库

[root@localhost ~]# docker tag httpd:latest 20.0.0.149:5000/httpd  

5、上传镜像

[root@localhost ~]# docker push 149:5000/httpd  The push refers to repository [149:5000/httpd]  An image does not exist locally with the tag: 149:5000/httpd  [root@localhost ~]# docker push 20.0.0.149:5000/httpd  The push refers to repository [20.0.0.149:5000/httpd]  9dabb51b1ca2: Pushed   4621e8a6d1da: Pushed   e728c649bc91: Pushed   1a935e59aa8a: Pushed   b60e5c3bcef2: Pushed   latest: digest: sha256:8f10edef61246c6c142a87304d4ffa68298662ecb619776e4e9817d06ec5f567 size: 1367  [root@localhost ~]# curl -XGET http://20.0.0.149:5000/v2/_catalog  {"repositories":["httpd"]}  #有上面的结果表示上传成功

6、下载镜像测试

[root@localhost ~]# docker images  REPOSITORY              TAG                 IMAGE ID            CREATED                  SIZE  httpd                   latest              bdc169d27d36        Less than a second ago   166MB  20.0.0.149:5000/httpd   latest              bdc169d27d36        Less than a second ago   166MB  registry                latest              708bc6af7e5e        2 months ago             25.8MB  [root@localhost ~]# docker rmi bdc169d27d36   Error response from daemon: conflict: unable to delete bdc169d27d36 (must be forced) - image is referenced in multiple repositories  [root@localhost ~]# docker rmi bdc169d27d36 -f  Untagged: 20.0.0.149:5000/httpd:latest  Untagged: 20.0.0.149:5000/httpd@sha256:8f10edef61246c6c142a87304d4ffa68298662ecb619776e4e9817d06ec5f567  Untagged: httpd:latest  Untagged: httpd@sha256:d5dc0d279039da76a8b490d89a5c96da83a33842493d4336b42ccdfbd36d7409  Deleted: sha256:bdc169d27d36e2438ec8452c7dd7a52a05561b5de7bef8391849b0513a6f774b  Deleted: sha256:6535aa332fb72ca508f550fef8ffb832d4c6bc72a48720b42659e10d47668181  Deleted: sha256:c7bce1fab718a11501a672c895a729b1fdf8099d00fe152bef8c2534ee455976  Deleted: sha256:75b6b2392924b062257ed97e5c2f3aa9f50a922b94c3f7c342d0aed2370e8bec  Deleted: sha256:267e2020b1bd0b182eb02d1a0f3e2f72efc542890ef6159ed9c3570322608de0  Deleted: sha256:b60e5c3bcef2f42ec42648b3acf7baf6de1fa780ca16d9180f3b4a3f266fe7bc  [root@localhost ~]# docker images  REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE  registry            latest              708bc6af7e5e        2 months ago        25.8MB  [root@localhost ~]#   

测试:

[root@localhost ~]# docker pull 20.0.0.149:5000/httpd  Using default tag: latest  latest: Pulling from httpd  123275d6e508: Pull complete   e984dd982a6e: Pull complete   963280e5cf81: Pull complete   6faf90d050b2: Pull complete   962b56984bb0: Pull complete   Digest: sha256:8f10edef61246c6c142a87304d4ffa68298662ecb619776e4e9817d06ec5f567  Status: Downloaded newer image for 20.0.0.149:5000/httpd:latest  20.0.0.149:5000/httpd:latest  [root@localhost ~]#   

拉取成功并且拉取镜像的速度很快。

最后给出上面出现的状态码错误的问题具体解决

© 版权声明
广告也精彩

相关文章

暂无评论

暂无评论...