docker搭建本地仓库并制作自己的镜像

Posted 111testing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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搭建本地仓库并制作自己的镜像的主要内容,如果未能解决你的问题,请参考以下文章

DOCKER 08:搭建本地镜像仓库 Harbor

Docker镜像保存为文件及从本地文件导入镜像的方法

docker搭建本地镜像仓库

docker 拷贝镜像文件

Docker基础-搭建本地私有仓库

后台专栏docker制作自己tomcat镜像