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

30 篇文章 1 订阅
16 篇文章 5 订阅

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 然后再推送即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值