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 创建Linux容器:
docker run -d -it --name myCentos 镜像ID /bin/bash
- -d 后台运行
- –name 容器名
2.2 将JDK复制到myCentos容器中
docker cp jdk-10.0.1_linux-x64_bin.tar.gz myCentos:/usr/local
2.3 进入容器
docker exec -it myCentos /bin/bash
2.4 解压JDK
tar -zxvf jdk-10.0.1_linux-x64_bin.tar.gz
2.5 配置环境变量
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.5.1 刷新环境变量
source /etc/profile
2.5.2 设置开机自动执行source
vi ~/.bashrc
在第一行添加 source /etc/profile
2.5.3 重启容器
docker stop myCentos
docker start myCentos
2.6 将容器提交到镜像里
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 然后再推送即可