6-搭建一个私有registry

6-搭建一个私有registry

docker hub 查找 registry

docker hub registry

在这里插入图片描述

可以看到部署很简单,只有一条命令。

docker run -d -p 5000:5000 --restart always --name registry registry:2

部署私有registry

  1. 找一台linux的服务器并安装好docker

  2. 在此服务器上部署registry

    docker run -d -p 5000:5000 --restart always --name registry registry:2
    

    查看是否成功

    root@vultr:~# docker ps
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
    46da49c00f3d        registry:2          "/entrypoint.sh /etc…"   2 hours ago         Up 2 hours          0.0.0.0:5000->5000/tcp   scijet-registry
  3. 测试本地是否能够连接服务器的ip
    安装 telnet

    sudo yum install telnet
    

    连通5000端口

    [vagrant@10 ~]$ telnet 144.202.112.240 5000
    

    如果出现以下内容则通过

    Trying 144.202.112.240...
    Connected to 144.202.112.240.
    Escape character is '^]'.
    
  4. 推送到私有registry

    [vagrant@10 hello-word]$ docker push 144.202.112.240:5000/hello-word
    The push refers to repository [144.202.112.240:5000/hello-word]
    Get https://144.202.112.240:5000/v2/: http: server gave HTTP response to HTTPS client
    

    直接推送是会报错的,原因是docker 认为这个registry是不安全的,未认证的。
    但是我们可以通过修改配置文件来解决。

    nano /etc/docker/daemon.json
    

    增加此配置,含义就是声明这个仓库是可信任的

    "insecure-registries": ["144.202.112.240:5000"
    ]
    

    在docker的服务配置文件内增加一段配置

    sudo nano /lib/systemd/system/docker.service
    
    ExecStart=/usr/bin/dockerd -H fd://    # 在这一条配置下面
    EnvironmentFile=-/etc/docker/daemon.json  # 增加的内容
    

    重启docker服务

    sudo systemctl daemon-reload   # 因为文件改变 所以重新加载守护进程
    sudo service docker restart  # 重启docker 服务
    

    推送

    docker push 144.202.112.240:5000/hello-word
    

    结果

    The push refers to repository [144.202.112.240:5000/hello-word]
    c4afafdc2fdb: Pushed 
    latest: digest: sha256:8eb5ca719b342a746102453ec63c016f0abe92edc2a32a07b96c274b5a37bcdb size: 527
    
  5. 验证

    私有的registry是没有web界面的,所以我们可以通过api来验证

    api 网址

    在这里插入图片描述

    在这里插入图片描述

    返回仓库内的镜像,查看是否刚刚提交的镜像在内。

    也可以使用 curl

    curl http://144.202.112.240:5000/v2/_catalog 
    
  6. 拉取镜像

    首先我们先把刚刚创建的镜像删除,然后从私有仓库内拉取回来

    docker rmi 144.202.112.240:5000/hello-word
    

    拉取

    [vagrant@10 hello-word]$ docker pull 144.202.112.240:5000/hello-word
    Using default tag: latest
    latest: Pulling from hello-word
    Digest: sha256:8eb5ca719b342a746102453ec63c016f0abe92edc2a32a07b96c274b5a37bcdb
    Status: Downloaded newer image for 144.202.112.240:5000/hello-word:latest
    

    查看是否成功拉取回来

    [vagrant@10 hello-word]$ docker images
    REPOSITORY                        TAG                 IMAGE ID            CREATED             SIZE
    144.202.112.240:5000/hello-word   latest              bb6f23084c78        24 hours ago        857kB
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/536040.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

7-深入练习Dockerfile

7-深入练习Dockerfile 创建一个json-server 镜像 首先创建一个 json-server 文件夹 mkdir json-server在json-server文件夹下创建Dockerfile FROM node:10.15.0 RUN npm install -g json-server构建镜像 docker build -t json-server .创建一个api服务的镜像 首先创建一个 …

9-资源限制

9-资源限制 了解stress工具 stress是一个压力测试工具 docker run -it ubuntu:16.04此时会进入ubuntu内,这时我们安装 stress工具 apt-get update && apt-get install -y stress查看help stress --helpUsage: stress [OPTION [ARG]] ...-?, --help …

10-Docker 网络

10-Docker 网络 基础网络概念 数据传输通过数据包 两台笔记本之间通信是通过数据包通信的。想知道数据包是怎么打包的呢,就先要知道网络分层的概念。 网络分层 目前有两种网络分层的模型。 ISO/OSI 分层,也就是 7 层模型。TCP/IP 分层,也就…

11-Docker Bridge详解

11-Docker Bridge详解 容器之间是如何通信的? 操作前删除test2的容器。 查看当前机器上docker的网络 docker network lsNETWORK ID NAME DRIVER SCOPE 056d0ece100f bridge bridge local a…

15-多容器复杂应用的部署

15-多容器复杂应用的部署 此节主要是通过部署一个复杂的应用场景,进而练习容器的网络相关知识。 创建一个flask-web应用 创建一个 flask-web 文件夹 mkdir flask-web在此文件夹内创建 app.py 文件 cd flask-web touch app.py编写一个简单的 web 程序 import os im…

16-多机器通信

16-多机器通信 回顾上节课的思考题。 flask-redis 想访问 redis,该如何通信? 创建另外一台linux虚拟机 直接拷贝Vagrantfile文件创建一个 centos 虚拟机 我们创建一个centos7-2文件夹,然后创建虚拟机 vagrant up创建的过程中提示选择网络接…

17-Docker的数据持久化介绍

17-Docker的数据持久化介绍 回顾容器与镜像 容器是在镜像之上创建的一层运行时层,这一层是可以读写的,我们能够在容器内添加数据,读取数据。 也就是说我们在创建容器的时候,我们能够在容器内创建文件,安装软件等等&a…

在Linux中对硬盘进行分区、格式化和挂载

在Linux中对硬盘进行分区、格式化和挂载 我最近有一个全新的4-TB硬盘加入我的电脑。所以我需要在Linux中安装它。为此,我需要执行以下操作: 分区格式化挂载检查是否已安装硬盘驱动器 分区 首先,在通过SATA和电源线将硬盘连接到计算机后&am…

Angular gitlab持续集成之runner配置

gitlab持续集成 安装Runner 正常安装 sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64sudo chmod x /usr/local/bin/gitlab-runner sudo useradd --comment GitLab Runner --creat…

vscode设置中文

vscode设置中文 当我们安装完成vscode后,会发现它是中文的,因为默认情况下,vscode使用的语言为英文(us)。 那很多同学是不喜欢英文的,不是看不懂,而是不方便哈。 修改语言配置文件 使用快捷键组合【CtrlShiftp】 在…

linux下编译boost

linux下编译boost 下载boot库 官方下载地址 下载完成会解压。 编译 1.进入解压后的文件夹内 cd boost_1_69_0 执行下面的语句 ./bootstrap.sh --with-librariesall --with-toolsetgcc–with-libraries 指定编译哪些boost库,all的话就是全部编译,只想…

conky安装配置

conky安装配置 安装conky sudo apt-get install conky-all修改配置 在主目录下创建’.conkyrc’ 文件内容: # set to yes if you want Conky to be forked in the background background no cpu_avg_samples 2 net_avg_samples 2 out_to_console no # X font w…

Windows子系统安装图形界面

Windows子系统安装图形界面 有很多同学需要使用 linux 系统,但是又不想真正安装一个 linux 系统。于是微软大哥就把 ubuntu 系统集成到 windows 内了,你说 微软 屌不屌? 言归正传。 安装Xlaunch 因为这个是最靠谱的图形化界面了,所以不解…

Linux下查看显卡PCIE速率x16x8x4及设定

Linux下查看显卡PCIE速率x16x8x4 由于linux软件并不是很齐全所以查看显卡占用PCIE的带宽并不直观,所以本文介绍如何查看。 Windows下使用GPU-Z即可查看 Linux 确定当前显卡型号 lspci | grep NVIDIA返回 02:00.0 3D controller: NVIDIA Corporation GM107M [GeFor…

Deepin安装最新显卡RTX2080Ti及CUDA10.1

Deepin安装最新显卡RTX2080Ti及CUDA10.1 废话不多说直接上教程。 本系统为Deepin 15.10.2,是基于debian 9发布的,不排除后续deepin升级为debian 10,就目前来看是和ubuntu 16.04一样,使用的是debian 9,所以下载安装包等…

Clonezilla再生龙备份与还原linux系统

文章目录Clonezilla再生龙备份与还原linux系统简介功能与要求一、制作再生龙启动盘1.下载镜像2.制作启动盘二、系统分区三、备份系统四、还原系统注意事项Clonezilla再生龙备份与还原linux系统 简介 再生龙(Clonezilla)是一个免费的灾难恢复、硬盘克隆…

网页滚动条上下滚动固定元素左右不固定之sticky

网页滚动条上下滚动固定元素左右不固定之sticky 有时候我们需要网页中某元素在上下滚动时可以固定在某一位置,但是左右不固定,也就是会随着左右滚动条滚动。那么我们可以通过 sticky 布局来解决。 position: sticky 我们先看看兼容性: 在使…

Timeshift系统备份与还原

Timeshift系统备份与还原 系统备份 一般Linux系统是比较稳定的,但是一旦崩溃就很难恢复,这里介绍 Timeshift系统备份工具。 安装Timeshift ubuntu 和 linux mint sudo apt-add-repository -y ppa:teejee2008/ppa sudo apt-get update sudo apt-get ins…

图片床

仅供存储图片

Angular实现dialog对话框封装

Angular实现dialog对话框封装 为什么要封装? 对于Angular Material UI库中的dialog组件,实在不是很好用,所以打算简单封装一下啊。 直接代码吧。 封装dialog组件 1.创建一个dialog组件 2.dialog.component.html文件 <ng-template #dialog><!-- 对话框投射内容…