docker搭建本地仓库并制作自己的镜像
原文地址https://blog.csdn.net/junmoxi/article/details/80004796
1. 搭建本地仓库
1.1 下载仓库镜像
1.2 启动仓库容器
2. 在CentOS容器中安装JDK
2.1 下载CentOS容器
2.2 运行Linux容器:
2.3 将JDK复制到myCentos容器中
2.4 进入容器
2.5 解压JDK
2.6 配置环境变量
2.6.1 刷新环境变量
2.6.2 设置开机自动执行source
2.6.3 重启容器
2.7 将容器提交到镜像里
3. 将新制作的镜像推送到仓库中
3.1 修改tag
3.2 将镜像推送到仓库中
1. 搭建本地仓库
1.1 下载仓库镜像
docker pull registry
1.2 启动仓库容器
docker run -d -p 5000:5000 -v /home/registry/:/tmp/registry registry
第一个5000是本地的端口,第二个5000是docker里面的端口,将本地5000的端口映射到
docker里面的5000端口
2. 在CentOS容器中安装JDK
2.1 下载CentOS容器
镜像仓库地址:https://dashboard.daocloud.io/packages/explore

docker pull daocloud.io/library/centos:latest
2.2 解压镜像 运行Linux容器:
docker run -d -it --name myCentos 镜像ID /bin/bash
-d 后台运行
–name 容器名
2.3 将JDK复制到myCentos容器中
docker cp jdk-10.0.1_linux-x64_bin.tar.gz myCentos:/usr/local
2.4 进入容器
docker exec -it myCentos /bin/bash
2.5 解压JDK
tar -zxvf jdk-10.0.1_linux-x64_bin.tar.gz
2.6 配置环境变量
vi /etc/profile
在文件末尾添加:
export JAVA_HOME=/usr/local/jdk1.8.0_152
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
2.6.1 刷新环境变量
source /etc/profile
2.6.2 设置开机自动执行source
vi ~/.bashrc
在第一行添加 source /etc/profile
2.6.3 重启容器
docker stop myCentos
docker start myCentos
2.7 将容器提交到镜像里
docker commit <CONTAINERID> <IMAGE>

3. 将新制作的镜像推送到仓库中
3.1 修改tag
docker tag <REPOSITORY> 仓库IP地址:端口/镜像名
tag名应该为 ip:端口/镜像名 的形式,它会将此镜像推送到此IP地址下的仓库,并且定义此镜像名

3.2 将镜像推送到仓库中
docker push tag名
可通过http://139.199.64.253:5000/v2/_catalog地址访问你上传的结果
注意:如果push报错:The push refers to a repository [139.199.64.253:5000/java]
Get https://139.199.64.253:5000/v1/_ping: http: server gave HTTP response to HTTPS client
则修改 /etc/docker 路径下的 daemon.json 文件,如果没有则手动创建,在文件中写入:
{ “insecure-registries”:[“139.199.64.253:5000”] }
然后重启docker: service docker restart
重新启动仓库:docker run -d -p 5000:5000 -v /home/registry/:/tmp/registry registry

如果想推送到docker的中央仓库则 tag名改为 : docker.io/java 然后再推送即可
docker搭建本地仓库并制作自己的镜像的更多相关文章
- Day 17 软件管理2之搭建本地仓库
1.列出yum源可用的软件仓库 [root@www.xuliangwei.com ~]# yum repolist [root@www.xuliangwei.com ~]# yum repolist ...
- 基于【CentOS-7+ Ambari 2.7.0 + HDP 3.0】搭建HAWQ数据仓库01 —— 准备环境,搭建本地仓库,安装ambari
一.集群软硬件环境准备: 操作系统: centos 7 x86_64.1804 Ambari版本:2.7.0 HDP版本:3.0.0 HAWQ版本:2.3.05台PC作为工作站: ep-bd01 e ...
- Docker 搭建私有仓库
Docker 搭建私有仓库 环境: docker 版本 :18.09.1 主机地址:192.168.1.79 1.运行并创建私有仓库 docker run -d \ -v /opt/registry: ...
- 7.1 安装软件包的三种方法 7.2 rpm包介绍 7.3 rpm工具用法 7.4 yum工具用法 7.5 yum搭建本地仓库
7.1 安装软件包的三种方法 7.2 rpm包介绍 7.3 rpm工具用法 7.4 yum工具用法 7.5 yum搭建本地仓库 三种方法 rpm工具----->类型windows下的exe程序 ...
- 利用Docker搭建本地https环境的完整步骤
利用Docker搭建本地https环境的完整步骤 这篇文章主要给大家介绍了关于如何利用Docker搭建本地https环境的完整步骤,文中通过示例代码将实现的步骤介绍的非常详细,对大家的学习或者工作具有 ...
- 安装软件包的三种方法、RPM包介绍、rpm、yum工具用法、yum搭建本地仓库
第5周第3次课(4月18日) 课程内容: 7.1 安装软件包的三种方法7.2 rpm包介绍7.3 rpm工具用法7.4 yum工具用法7.5 yum搭建本地仓库 7.1 安装软件包的三种方法 rpm工 ...
- 菜鸟系列docker——搭建私有仓库harbor(6)
docker 搭建私有仓库harbor 1. 准备条件 安装docker sudo yum update sudo yum install -y yum-utils device-mapper-per ...
- [Docker]docker搭建私有仓库(ssl、身份认证)
docker搭建私有仓库(ssl.身份认证) 环境:CentOS 7.Docker 1.13.1 CentOS 7相关: https://www.cnblogs.com/ttkl/p/11041124 ...
- Linux CentOS7 VMware 安装软件包的三种方法、rpm包介绍、rpm工具用法、yum工具用法、yum搭建本地仓库
一.安装软件包的三种方法 Linux下游三种安装方法,rpm工具.yum工具.源码包.rpm按装一个程序包时,有可能因为该程序包依赖另一个程序包而无法安装:yum工具,可以连同依赖的程序包一起安装. ...
随机推荐
- 【Eclipse】Ubuntu 下菜单栏失效了,怎么办?(已解决)
如果你的 Ubuntu 的版本是 13.10 , 且你又安装了 Eclipse , 你就会发现 Eclipse 的菜单不起作用了. 就是点击 File , Edit ... 这些菜单,不会显示子菜单了 ...
- React组件设计(转)
React组件设计 组件分类 展示组件和容器组件 展示组件 容器组件 关注事物的展示 关注事物如何工作 可能包含展示和容器组件,并且一般会有DOM标签和css样式 可能包含展示和容器组件,并且不会有D ...
- [原]git的使用(二)---工作区和暂存区
接着上篇 git的使用(一) http://www.cnblogs.com/horizonli/p/5323363.html 6.工作区和暂存区(中转站) 工作区(Working Directory) ...
- tcp连接出现close_wait状态?可能是代码不够健壮
一.问题概述 今天遇到个小问题. 我们的程序依赖了大数据那边的服务,大数据那边提供了restful接口供我们调用. 测试反映接口有问题,我在本地重现了. 我这边感觉抓包可能对分析问题有用,就用wire ...
- pam和sasl
这几天使用在Postfix搭建一个Webmail的平台,用户认证这一块最终使用了PAM.想整理一下思路,让自己对PAM有个更加清晰的认识. 1. PAM的简介 PAM全称是:Pluggabl ...
- PostgreSQL9.3安装tds_fdw扩展
PostgreSQL从9.x开始支持所谓的外表的功能,就是在PostgreSQL中通过安装一些扩展再进行一些配置可以在本地建立一个外表映射到其他不同类型的数据库(可以大致理解为跨越PostgreSQL ...
- Unity3D笔记十九 持久化数据
1.PlayerPrefs类(生命周期???) 1.1 保存与读取数据 在C#中类似缓存.Cookie.Session等保存数据的,但是有点区别的是在C#中如果在取值时没有取到默认值则返回值是NULL ...
- 'cmd' 不是内部或外部命令,也不是可运行的程序 或批处理文件.
添加path内容: %SystemRoot%\system32; %SystemRoot%; %SystemRoot%\System32\Wbem;
- 在 arc里面打印 引用计数的方法
查阅资料: You can use CFGetRetainCount with Objective-C objects, even under ARC: NSLog(@"Retain c ...
- Xcode 6 下添加pch头文件
没错了,Xcode 6 有着许多坑,例如新建的工程里没有默认的pch文件,当然本质上应该是为了提高编译的速度,但却让开发略微有点不方便. 话不多说,其实新建很简单 1.先新建一个PCH文件 2.设置头 ...