centos搭建本地docker仓库

版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/a807557328/article/details/88533232

安装docker

安装:

yum pull docker –y

启动:

service start docker

可能报错:

The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.

解决方案:

vi /etc/sysconfig/docker

OPTIONS='--selinux-enabled=false (selinux-enabled后加上=false)

 

创建docker本地仓库

拉取基础仓库镜像并运行:

docker pull registry

docker run –d --name=my_registry -p 5000:5000 registry

配置https权限支持

vi /etc/docker/daemon.json

添加参数:

{"insecure-registries":["仓库id:port"]}

例:

{"insecure-registries":["192.168.0.138:5000"]}

重启docker:

service docker restart

 

打包本地镜像,以打包jdk为例

下载基础镜像:

docker pull centos:7.2.1511

jdk1.8.0_171包所在目录创建Dockerfile文件并配置:

例:

FROM centos:7.2.1511
RUN mkdir /usr/java
RUN mkdir /usr/java/jdk1.8.0_171
COPY ./jdk1.8.0_171/ /usr/java/jdk1.8.0_171
ENV JAVA_HOME=/usr/java/jdk1.8.0_171
ENV CLASS_PATH=.:$JAVA_HOME/lib
ENV PATH=$PATH:$JAVA_HOME/bin

打包镜像:  

docker build -t my_jdk:base . (最后有点代表当前目录)

进入镜像并查看JDK是否安装成功:

进入:

docker run -ti --entrypoint=bash my_jdk:base

查看:

java -version

 

Push镜像到本地仓库

 

上传镜像:

docker push [镜像id]

可能报错:

Error response from daemon: You cannot push a "root" repository. Please rename your repository to docker.io/<user>/<repo> (ex: docker.io/<user>/sshd)

解决方案:

docker tag [镜像id] [本地仓库ip:port/镜像名称:版本号]

例:

docker tag my_jdk:base 192.168.0.138:5000/my_jdk:base

 

Pull本地仓库镜像

docker pull [仓库ip:port/镜像名称:版本号]

例:

docker pull 192.168.0.138:5000/my_jdk:base

可能报错:

“server gave HTTP response to HTTPS client”

解决方案:

配置https权限支持

vi /etc/docker/daemon.json

添加参数:

"insecure-registries":["仓库id:port"]

例:

 "insecure-registries":["192.168.0.138:5000"]

重启docker:

service docker restart

猜你喜欢

转载自blog.csdn.net/a807557328/article/details/88533232