首页 > 其他分享 >【Docker学习教程系列】8-如何将本地的Docker镜像发布到私服?

【Docker学习教程系列】8-如何将本地的Docker镜像发布到私服?

时间:2022-12-10 11:03:01浏览次数:77  
标签:私服 学习 命令 镜像 Docker docker

通过前面的学习,我们已经知道,怎么将本地自己制作的镜像发布到阿里云远程镜像仓库中去。但是在实际工作开发中,一般,我们都是将公司的镜像发布到公司自己搭建的私服镜像仓库中,那么一个私服的镜像仓库怎么搭建?怎么将自己的镜像推送到私服仓库中呢?怎么验证是否成功呢?本文咱们就一起来学学怎么将镜像推送到私服镜像中。

【Docker学习教程系列】8-如何将本地的Docker镜像发布到私服?_Docker

大家好,我是凯哥Java(kaigejava),乐于分享,每日更新技术文章,欢迎大家关注“凯哥Java”,及时了解更多。让我们一起学Java。

文末送上本系列教程其他文章直通车,欢迎大家系统地去学习

本文目录:

1:下载镜像 DockerRegistry

2:运行私有库Registry,相当于本地有个私有的Docker hub

3:案例演示创建一个新镜像,ubuntu安装ifconfig命令

安装ifconfig

查看现有镜像:

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

5:将新镜像修改符合私服规范的tag

6:修改配置文件使之支持http

7:push推送到私服

8:curl验证私服上有什么镜像第二次查看

9:pull到本地并运行

从私服拉取命令:

重新查看本地镜像: 

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

本地搭建私有仓库步骤

1:下载镜像 DockerRegistry

命令:

docker pull registry

【Docker学习教程系列】8-如何将本地的Docker镜像发布到私服?_Docker_02

2:运行私有库Registry,相当于本地有个私有的Docker hub

命令:

docker run -d -p 端口:端口 -v 容器地址:映射地址 --privileged-true registry

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

实例:

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

【Docker学习教程系列】8-如何将本地的Docker镜像发布到私服?_docker_03

查看docker正在运行的容器:

【Docker学习教程系列】8-如何将本地的Docker镜像发布到私服?_Docker_04

3:案例演示创建一个新镜像,ubuntu安装ifconfig命令

【Docker学习教程系列】8-如何将本地的Docker镜像发布到私服?_docker_05

安装ifconfig

在容器中执行下面两个命令:

apt-get update

apt-get install net-tools

【Docker学习教程系列】8-如何将本地的Docker镜像发布到私服?_docker_06

使用commit命令制作一个带有ifconfig的ubuntu.

注意,docker commit命令是在宿主机上执行的

套用公式:

docker commit -m"add ifconfig" -a"凯哥Java" 0930939e6f99 kagejava/ifconfigubuntu:1.0.1

查看现有镜像:

【Docker学习教程系列】8-如何将本地的Docker镜像发布到私服?_docker_07

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

命令:

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

说明:192.xxx是虚拟机的地址

【Docker学习教程系列】8-如何将本地的Docker镜像发布到私服?_Docker_08

可以看到私服上面是空的。

5:将新镜像修改符合私服规范的tag

命令公式

docker tag 镜像:Tag HOST:Port、Repository:Tag

注意:自己host主机ip地址。也就是虚拟机的ip地址

使用命令将:kaigejava/ifconfigubuntu:1.0.1 这个镜像修改为:192.168.50.128:5000/kagejavaifconfig:1.0.1

docker tag kagejava/ifconfigubuntu:1.0.1 192.168.50.128:5000/kaigejavaifconfig:1.0.1

【Docker学习教程系列】8-如何将本地的Docker镜像发布到私服?_docker_09

说明:192.168..50.128是虚拟机主机的ip.

命令执行完成之后,查看当前imags.如下图:

【Docker学习教程系列】8-如何将本地的Docker镜像发布到私服?_Docker_10

6:修改配置文件使之支持http

在docker的json文件中添加

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

注意修改ip及添加逗号

【Docker学习教程系列】8-如何将本地的Docker镜像发布到私服?_Docker_11

【Docker学习教程系列】8-如何将本地的Docker镜像发布到私服?_java_12

重启docker命令:

systemctl restart docker

重启docker后,重启私服

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

7:push推送到私服

命令公式:

docker push ip:断开/镜像信息:版本

【Docker学习教程系列】8-如何将本地的Docker镜像发布到私服?_java_13

当出现以下说明已经push成功:

【Docker学习教程系列】8-如何将本地的Docker镜像发布到私服?_docker_14

8:curl验证私服上有什么镜像第二次查看

命令:

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

【Docker学习教程系列】8-如何将本地的Docker镜像发布到私服?_docker_15

可以看到,我们已经将新的镜像上传到私服上了。

9:pull到本地并运行

【Docker学习教程系列】8-如何将本地的Docker镜像发布到私服?_java_16

从私服拉取命令:

docker pull ip:端口/镜像名:版本号

【Docker学习教程系列】8-如何将本地的Docker镜像发布到私服?_docker_17

重新查看本地镜像:

【Docker学习教程系列】8-如何将本地的Docker镜像发布到私服?_Docker_18

直通车,本系列教程已发布文章,快速到达,《Docker学习系列》教程已经发布的内容如下:

​【图文教程】Windows11下安装Docker Desktop​

​【填坑】在windows系统下安装Docker Desktop后迁移镜像位置​

​【Docker学习系列】Docker学习1-docker安装​

​【Docker学习系列】Docker学习2-docker设置镜像加速器​

​【Docker学习系列】Docker学习3-docker的run命令干了什么?docker为什么比虚拟机快?​

​【Docker学习系列】Docker学习2-常用命令之启动命令和镜像命令​

​【Docker学习系列】Docker学习系列3:常用命令之容器命令​

​【Docker学习系列】Docker学习4-常用命令之重要的容器命令​

​【Docker教程系列】Docker学习5-Docker镜像理解​

​【Docker教程系列】Docker学习6-Docker镜像commit操作案例​

​【Docker学习教程系列】7-如何将本地的Docker镜像发布到阿里云​

​【Docker学习教程系列汇总】笔记及遇到问题解决文章​


大家好,我是凯哥Java(kaigejava),乐于分享,每日更新技术文章,欢迎大家关注“凯哥Java”,及时了解更多。让我们一起学Java



标签:私服,学习,命令,镜像,Docker,docker
From: https://blog.51cto.com/kaigejava/5927310

相关文章

  • 【Docker学习教程系列】8-如何将本地的Docker镜像发布到私服?
    通过前面的学习,我们已经知道,怎么将本地自己制作的镜像发布到阿里云远程镜像仓库中去。但是在实际工作开发中,一般,我们都是将公司的镜像发布到公司自己搭建的私服镜像仓库中,......
  • Docker之Docker概念,网络,数据卷
    @目录1Docker1.1简介1.2Docker架构1.3Docker如何工作1.4Docker技术是否与传统的Linux容器相同1.4.1什么是Linux容器1.4.2容器是虚拟化吗1.5Docker中的镜像分层1......
  • Docker之镜像和仓库发布讲解
    目录1Docker镜像1.1官方镜像操作1.1.1搜索官方仓库镜像1.1.2获取镜像1.1.3导入导出镜像1.1.4删除镜像1.1.5查看镜像的详细信息1.2自定义镜像操作1.3Dockerfile自......
  • docker学习笔记
    Docker&CKA学习笔记第一章、容器存在的意义、优势、docker介绍1.1容器存在的意义1、上线流程繁琐开发->测试->申请资源->审批->部>测试等环节2、资源利用率低......
  • 【docker】——CentOS7.0安装docker以及docker命令
    ##2.1CentOS2.1.1系统要求CentOS7或更高版本centos-extras仓库必须处于启用状态,该仓库默认启用,但如果您禁用了该仓库,请按照https://wiki.centos.org/AdditionalResource......
  • Docker 面试题
    Docker常见面试题NamespaceCgroupsNamespaceDocker容器这个听起来玄而又玄的概念,实际上是在创建容器进程时,指定了这个进程所需要启用的一组Namespace参数。这样,......
  • Docker Warning : the backing xfs filesystem is formatted without d_type support
    DockerWarning:thebackingxfsfilesystemisformattedwithoutd_typesupporthttps://www.cnblogs.com/zhangeamon/p/7918567.htmllinux7.2不能识别存储,Centos7......
  • Docker-compose限制内存大小
    version:'3.7'services:openldap:image:10.10.xxx.54/public/openldap:1.3.0container_name:openldapenvironment:-N9E_NID=22ports:......
  • docker 中安装mysql
    1、查看当前docker中的容器dockerimagesdockerps-a 2、dockerpull mysql   ---拉取mysql镜像3、dockerrun--namemysqlbyeddy-itd-p3306:3306--res......
  • docker 下 拉取mysql 镜像失败解决办法
    一、问题Docker拉取mysql镜像,发生报错。dockerpullmysql:8.0.221报错信息:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:TLShandsha......