Docker

搭建docker私有仓库(3)

2018-05-04  本文已影响209人  ROCK_杰哥

至于为什么搭建docker私有仓库,原因很简单,把项目放到docker公有仓库,或者是阿里云的docker仓库,是很不专业的做法,搭建私有的docker私有仓库,就类似于我们搭建git的私服,maven私服一样,就是为了屏蔽外部因素的干扰,网络不稳定,下载上传镜像就会很慢。
前提:
关闭防火墙,开放端口

# systemctl stop firewalld.service

# systemctl disable firewalld.service

关闭本地selinux防火墙

    
# vi /etc/sysconfig/selinux 

SELINUX=disabled

# setenforce 0  

①,开始
在之前的基础上,拉取register镜像

docker pull registry

②,运行

#这个是老版本
docker run -d -p 5000:5000 --privileged=true -v /opt/date/registry:/tmp/registry docker.io/registry
#这个是新版本,存储的目录不一样,目录制定不对的话,docker私服不能持久化,重启宕机将面临很严重的问题,这个浪费的两天的时间
docker run -d -p 5000:5000 --privileged=true -v /opt/date/registry:/var/lib/registry docker.io/registry

就这样我们自己的私有仓库就创建好了,很easy吧,那么,可以测试一下,将我们应用的镜像push上去,再起一个虚拟机,安装上docker之后,拉下来,看能不能运行,到这里我们才能感觉到docker的魅力
提示一句,在发现容器存储有问题的时候可以进入容器看看

docker exec -it 容器id /bin/sh

③,push我们的镜像
先做一个版本,这个很重要,在多版本的时候,容易混乱,docker提供了tag来让我们区分版本,启动容器的时候一定要用image-id

docker tag ac5a16450bc0 192.168.9.129:5000/docker:1.1
image.png

接下来直接push的话,是不成功的,因为现在docker不知道你要push到什么地方,先配置一下

 vi /etc/sysconfig/docker
#添加

ADD_REGISTRY='--add-registry 192.168.9.129:5000'

INSECURE_REGISTRY='--insecure-registry 192.168.9.129:5000'

修改了环境变量,接下来就是重启了

systemctl restart docker
#启动私服容器
docker run -d -p 5000:5000 -v /opt/date/registry:/tmp/registry docker.io/registry
#再次push
docker push 192.168.9.129:5000/docker

成功push的标志


image.png

查看是否push上去了

[root@localhost ~]# curl -XGET http://192.168.9.129:5000/v2/_catalog
{"repositories":["docker"]}

http://192.168.9.129:5000/v2/docker/tags/list

④,pull私服中的镜像

在需要的地方

docker pull 192.168.9.129:5000/docker:1.1

如果不带1.1,则默认latest,因为push的时候制定过了tag是1.1,所以这里必须带上1.1,如果不带默认latest
好了,看看


image.png
[root@localhost /]# docker images
REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
192.168.9.129:5000/docker   1.1                 ac5a16450bc0        5 hours ago         656 MB

运行

[root@localhost /]# docker run -d --name docker -p 8088:8088 ac5a16450bc0
b04571e4a0e050250da1193f02ef616c3753dc97c21734142b75ba616eeadb2c
image.png

题外话

yum install telnet
yum install telnet-server
yum install xinetd

上一篇下一篇

猜你喜欢

热点阅读