[TOC]
1. 搭建本地仓库
1.1 下载仓库镜像
1 | docker pull registry |
1.2 启动仓库容器
1 | 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
1 | docker pull daocloud.io/library/centos:latest |
2.2 运行Linux容器:
1 | docker run -d -it --name myCentos 镜像ID /bin/bash |
- *-d 后台运行 *
- –name 容器名
2.3 将JDK复制到myCentos容器中
1 | docker cp jdk-10.0.1_linux-x64_bin.tar.gz myCentos:/usr/local |
2.4 进入容器
1 | docker exec -it myCentos /bin/bash |
2.5 解压JDK
1 | tar -zxvf jdk-10.0.1_linux-x64_bin.tar.gz |
2.6 配置环境变量
1 | 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 刷新环境变量
1 | source /etc/profile |
2.6.2 设置开机自动执行source
1 | vi ~/.bashrc |
在第一行添加 source /etc/profile
2.6.3 重启容器
1 | docker stop myCentos |
2.7 将容器提交到镜像里
1 | docker commit <CONTAINERID> <IMAGE> |
3. 将新制作的镜像推送到仓库中
3.1 修改tag
1 | docker tag <REPOSITORY> 仓库IP地址:端口/镜像名 |
tag名应该为 ip:端口/镜像名 的形式,它会将此镜像推送到此IP地址下的仓库,并且定义此镜像名
3.2 将镜像推送到仓库中
1 | 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 然后再推送即可