Docker将镜像文件发布到私服库
上一篇已经介绍如何将镜像发布到阿里云:https://www.cnblogs.com/sportsky/p/16246394.html
一、创建新镜像文件
1、创建容器并在容器内创建文件
在根目录下创建 /xiaohemiao/test.txt 并在test.txt文件中写入一些内容

2、提交容器副本使之成为一个新的镜像
# 提交格式
docker commit -m="提交的描述信息" -a="作者" 容器id 要创建的目标镜像名:[标签名,也就是版本号]

二、本地镜像推送到私有库
1、下载镜像Docker Registry
docker pull registry
2、创建本地私有容器库
# 创建一个名为registry的容器,将宿主机5000端口映射到容器的5000端口,将宿主机的/myregistry目录映射到容器/tmp/registry目录作为数据容器卷
docker run -id -p 5000:5000 -v /myregistry/:/tmp/registry --privileged=true registry
默认情况,仓库被创建在容器的/var/lib/registry目录下,建议自行用容器卷映射,方便与宿主机联调

3、curl验证私服库上的镜像
# IP地址是自己宿主机的ip,端口号是刚刚创建容器映射的宿主机端口
curl -XGET http://192.168.140.129:5000/v2/_catalog

4、将新镜像myredis:latest修改符合私服规范的Tag
# 格式 docker tag 镜像名称:版本号 ip:端口/镜像名称:版本号
docker tag myredis:latest 192.168.140.129:5000/myredis:latest

5、修改配置文件使之支持http
vi /etc/docker/daemon.json
添加如下配置:insecure-registries":["192.168.140.129:5000"]

上述理由:docker默认不允许http方式推送镜像,通过配置选项来取消这个限制,修改完后如果不生效,建议重启docker
6、push推送到私服库
# 后台配置重新加载
systemctl daemon-reload
# 重启docker服务
systemctl restart docker
# 查看配置的端口号(5000)是否开启(非必要)
netstat -nlpt
# 推送到私服
docker push 192.168.140.129:5000/myredis:latest

7、重新查看私服库镜像有哪些
# 查看私服镜像文件(ip地址修改成自己宿主机的ip)
curl -XGET http://192.168.140.129:5000/v2/_catalog

三、pull私服镜像
首先先删掉目前docker上的镜像,然后再从私服镜像pull
# pull私服镜像(ip地址填写当前宿主机的ip和端口) docker pull 192.68.140.129:5000/myredis:latest

================================Ending 大功告成 !===========================================
Docker将镜像文件发布到私服库的更多相关文章
- Docker将镜像文件发布到阿里云
一.创建新镜像文件 1.创建容器并在容器内创建一个文件夹 在容器内创建一个新文件主要是为了代表这个容器非镜像文件直接创建的容器,而是通过自定义在容器内创建了属于自己的文件 2.提交容器副本使之成为一个 ...
- docker 拷贝镜像文件
1.概述 我们制作好镜像后,有时需要将镜像复制到另一台服务器使用. 能达到以上目的有两种方式,一种是上传镜像到仓库中(本地或公共仓库),但是另一台服务器很肯能只是与当前服务器局域网想通而没有公网的,所 ...
- docker删除镜像文件时,出现image is referenced in multiple repositories如何解决
1.输入查看镜像文件的命令: $ docker image ls 得到如下结果: 2.删除名为lihui/demo的镜像,输入如下命令: $ docker rmi 9fa504a6066a 报错,报错 ...
- Docker创建镜像文件并在容器中运行
1.如何创建镜像文件 首先找到Docker ToolBox安装的路径,在路径下直接新建Dockerfile文件 在Dockerfile文件里写入的内容为: FROM docker/whalesay:l ...
- win10上修改docker的镜像文件存储位置
记住:修改的是docker从服务器上拉下来的镜像文件存储位置(本地),是不是镜像源地址(服务器) 首先 win10下的docker有可视化操作界面和命令行操作,下载了docker-ce.exe双击后就 ...
- net core 程序docker打包镜像并发布到官方store
学习一个技术的第一步,总是要先打印或显示一个hello world的.当然,学习docker也不例外.上一篇文章已经简单的介绍了环境的安装和配置.接下来就要打印我们的hello world了. 首先我 ...
- Docker for windows修改默认镜像文件位置
docker版本为18.06 windows上安装的docker其实本质上还是借助与windows平台的hyper-v技术来创建一个Linux虚拟机,你执行的所有命令其实都是在这个虚拟机里执行的,所以 ...
- Docker: 如何修改 Docker 的镜像存储位置
我用的阿里云的服务器, 但是系统盘只有20G, 默认 Docker 的镜像文件是安装在/var/lib 目录下的, 这样的话我根本装不了太多的镜像... 这个必须得改改... 搜了下, 解决方案如下: ...
- 【我的Android进阶之旅】快速创建和根据不同的版本类型(Dev、Beta、Release)发布Android 开发库到Maven私服
前言 由于项目越来越多,有很多公共的代码都可以抽取出一个开发库出来传到公司搭建好的Maven私服,以供大家使用. 之前搭建的Maven仓库只有Release和Snapshot两个仓库,最近由于开发库有 ...
随机推荐
- JdbcTemplate ?
JdbcTemplate 类提供了很多便利的方法解决诸如把数据库数据转变成基本数据 类型或对象,执行写好的或可调用的数据库操作语句,提供自定义的数据错误处 理.
- Flask 简单使用,这一篇就够了!
#Flask 安装依赖包及作用 - jinja2 模板语言 (flask依赖包) - markupsafe 防止css攻击 (flask依赖包) - werkzeug --wkz 类似于django中 ...
- input 输入框只能输入数字,一行代码解决,兼容谷歌 火狐
<input id="mobile" name="mobile" type="text" onkeyup="this.val ...
- matlab二维插值--interp2与griddata
二者均是常用的二维插值方法,两者的区别是, interp2的插值数据必须是矩形域(X,Y必须分别是单调向量),即已知数据点(x,y)组成规则的矩阵,或称之为栅格,可使用meshgid生成. gridd ...
- C语言中的bool类型 stdbool.h
C语言的C99标准中已经可以使用bool类型了,但有些小伙伴可能受制于编译器等原因还无法使用,我就从最新版的VS2019 中,找到了stdbool.h这个头文件的定义,其实就是一堆宏的定义,代码如下: ...
- Codepen 每日精选(2018-4-6)
按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以打开原始页面. 按照画出的路线吃豆子的交互动画https://codepen.io/createjs/f... 模拟真实手 ...
- 世界各国 MCC 和 MNC 列表
http://www.cnblogs.com/inteliot/archive/2012/08/22/2651666.html常见MCC:代码(MCC) ISO 3166-1 国家202 ...
- Java简单登录图形界面
本文参考与:https://blog.csdn.net/wyf2017/article/details/78831744 https://blog.csdn.net/MengKun822/articl ...
- 初始化properties
package com.letech.common; import java.io.IOException; import java.util.Properties; public class Con ...
- 微信小程序和公众号和H5之间相互跳转
参考链接:https://www.imooc.com/article/22900 一.小程序和公众号 答案是:可以相互关联. 在微信公众号里可以添加小程序. 可关联已有的小程序或快速创建小程序.已关联 ...