首页 > 其他分享 >Docker本地镜像发布到私有库

Docker本地镜像发布到私有库

时间:2023-02-13 15:34:30浏览次数:36  
标签:5000 1.2 私有 xttubuntu 镜像 Docker docker


本地镜像发布到私有库

  • ​​1、私有库是什么?​​
  • ​​2、将本地镜像推送到私有库实践​​
  • ​​2.1 下载镜像Docker Registry​​
  • ​​2.2 运行私有库​​
  • ​​2.3 制作一个新镜像​​
  • ​​2.4 curl验证私服库上有什么镜像​​
  • ​​2.5 将新镜像xttubuntu:1.2修改符合私服规范的Tag​​
  • ​​2.6 修改配置文件使docker支持http​​
  • ​​2.7 push推送到私服库​​
  • ​​2.8 curl验证私服库上是否有推送的镜像​​
  • ​​2.9 将私有库的镜像拉取到本地并运行​​

1、私有库是什么?

  通常我们是将自己的镜像发布到Docker Hub:https://hub.docker.com/,但是中国大陆访问太慢了且准备被阿里云取代的趋势,不太主流。

  Dockerhub、阿里云这样的公共镜像仓库可能不太方便,涉及机密的公司不可能提供镜像给公网,所以需要创建一个本地私人仓库供给团队使用,基于公司内部项目构建镜像。

  Docker Registry是官方提供的工具,可以用于构建私有镜像仓库

2、将本地镜像推送到私有库实践

2.1 下载镜像Docker Registry

docker pull registry

Docker本地镜像发布到私有库_容器

Docker本地镜像发布到私有库_ubuntu_02

2.2 运行私有库

运行私有库,相当于本地有个Docker Hub

docker run -d -p 5000:5000  -v /zzyyuse/myregistry/:/tmp/registry --privileged=true registry

  默认情况,仓库被创建在容器的/var/lib/registry目录下,建议自行用容器卷映射,方便于宿主机联调

Docker本地镜像发布到私有库_容器_03

2.3 制作一个新镜像

这里我们创建一个新镜像,ubuntu安装ifconfig命令

1、从Hub上下载ubuntu镜像到本地并成功运行

docker pull ubuntu

默认镜像中是没有ifconfig命令的

Docker本地镜像发布到私有库_运维_04

安装ifconfig命令

apt-get update
apt-get install net-tools

Docker本地镜像发布到私有库_私有库_05

Docker本地镜像发布到私有库_docker_06

安装完成之后,commit我们自己的新镜像

命令:

docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:[标签名]

在容器外面执行

docker commit -m="ifconfig cmd add" -a="xtt" d3c7ff18b7cd xttubuntu:1.2

Docker本地镜像发布到私有库_私有库_07

启动我们的新镜像并和原来的对比

官网是默认下载的Ubuntu没有ifconfig命令
我们自己commit构建的新镜像,新增加了ifconfig功能,可以成功使用

Docker本地镜像发布到私有库_私有库_08

2.4 curl验证私服库上有什么镜像

curl -XGET http://192.168.159.33:5000/v2/_catalog

Docker本地镜像发布到私有库_私有库_09

空的,没有什么镜像。

2.5 将新镜像xttubuntu:1.2修改符合私服规范的Tag

命令格式:

docker   tag   镜像:Tag   Host:Port/Repository:Tag

使用命令 docker tag 将xttubuntu:1.2 这个镜像修改为192.168.159.33:5000/xttubuntu:1.2

docker tag xttubuntu:1.2 192.168.159.33:5000/xttubuntu:1.2

Docker本地镜像发布到私有库_运维_10

2.6 修改配置文件使docker支持http

docker默认不允许http方式推送镜像,通过配置选项来取消这个限制

vim /etc/docker/daemon.json

Docker本地镜像发布到私有库_docker_11

根据自己情况修改,修改完成之后重启docker

2.7 push推送到私服库

docker push 192.168.159.33:5000/xttubuntu:1.2

Docker本地镜像发布到私有库_docker_12

2.8 curl验证私服库上是否有推送的镜像

curl -XGET http://192.168.159.33:5000/v2/_catalog

Docker本地镜像发布到私有库_ubuntu_13

可以看到,镜像推送成功了。

2.9 将私有库的镜像拉取到本地并运行

在此之前先将我们本地的镜像删除掉

docker rmi -f 192.168.159.33:5000/xttubuntu:1.2
docker rmi -f xttubuntu:1.2

Docker本地镜像发布到私有库_私有库_14

拉取私有库中的镜像

docker pull 192.168.159.33:5000/xttubuntu:1.2

Docker本地镜像发布到私有库_容器_15

Docker本地镜像发布到私有库_容器_16

启动镜像并测试我们之前安装的ifconfig命令是否可用

docker run -it 192.168.159.33:5000/xttubuntu:1.2 /bin/bash

Docker本地镜像发布到私有库_docker_17

  可以看到,之前的ifconfig命令也是可用的,Docker果然很强大啊,这样就不存在测试和开发扯皮的事情了。


标签:5000,1.2,私有,xttubuntu,镜像,Docker,docker
From: https://blog.51cto.com/u_15961549/6054237

相关文章

  • Docker镜像是什么?
    Docker镜像​​1、Docker镜像是什么?​​​​1.1分层的镜像​​​​1.2UnionFS(联合文件系统)​​​​1.3Docker镜像加载原理​​​​1.4为什么Docker才200M?​​​​1.5......
  • Docker容器的ubuntu镜像配置apt国内源
    1、问题描述  在Docker容器中安装ubuntu镜像之后,默认使用的软件源是ubuntu的官网,速度非常慢,更新软件包经常报错  而且初始镜像默认没有安装vim命令,导致修改​​/etc/ap......
  • Docker常用命令
    Docker常用命令​​1、帮助启动类命令​​​​启动docker​​​​停止docker​​​​重启docker​​​​查看docker状态​​​​开机启动​​​​查看docker概要信息​​​......
  • 为什么要使用Docker?
    为什么使用Docker​​1、Docker为什么会出现​​​​2、Docker的理念​​​​3、容器与虚拟机的比较​​​​4、Docker能做什么?​​​​4.1一次构建、随处运行​​​​4.2......
  • 使用Docker来配置Nginx映射静态H5页面
    前提:需要预装docker1、拉取Nginx镜像$dockerpullnginx2、挂载镜像$dockerrun--namenginx-p80:80-dnginx3、查看挂载的镜像,获取CONTAINERID$dockerps......
  • Docker 服务编排 快速部署 SpringCloud 项目 (一)
    一、docker-compose.ymlversion:"3.3"networks:zeal:volumes:data:services:gateway:restart:alwaysbuild:context:./gateway......
  • CentOS安装docker --MYSQL
    准备检测系统版本和内核版本  安装自动安装脚本curl -sSL https://get.daocloud.io/docker | sh  启动docker  搜索docker可用资源dockersearch......
  • docker 安装mysql
    1,dockerpullmysql:5.7.41具体镜像查看docker官网仓库2,创建容器在本地的映射文件夹mkdir-p/root/mysql/data/root/mysql/logs/root/mysql/conf3,创建mysql配置......
  • docker 运行环境
    步骤1-启用适用于Linux的Windows子系统需要先启用“适用于Linux的Windows子系统”可选功能,然后才能在Windows上安装Linux分发。以管理员身份打开Power......
  • docker 安装nginx1.22.1
    1,拉取镜像:dockerpullnginx:1.22.12,创建映射目录mkdir-p/docker/nginx3,创建临时容器用于复制配置信息dockerrun--namenginx-p80:80-dnginx:1.22.14,拷贝......