美文网首页
Docker私服搭建

Docker私服搭建

作者: hutou | 来源:发表于2018-01-25 09:56 被阅读1205次

    配置加速

    https://www.daocloud.io配置加速器

    $ curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://xxx.m.daocloud.io
    # 重启服务
    $ systemctl daemon-reload
    $ systemctl restart docker
    # 查看一下运行的效果
    $ ps -aux | grep docker
    

    我在CoreOS7系统上使用,上面的命令会修改配置文件

    # 查看service的配置文件的位置
    $ systemctl status docker.service
    # 编辑配置文件
    $ vi /usr/lib/systemd/system/docker.service
    

    启动私服

    使用register作为私服,官方网址

    # 下载镜像
    $ sudo docker pull registry:2.4.1
    # 启动镜像
    $ sudo docker run -d -p 5000:5000 registry 
    # 使用本地数据
    $ sudo docker run -d -p 5000:5000  --name dockerServer --restart=always -v /opt/registry-var/:/var/lib/registry/ registry:2.4.1 
    # 查看运行结果
    $ docker ps 
    # 返回Json串表示正常启动了
    $ curl http://192.168.31.101:5000/v2/_catalog
    

    私服的地址:192.168.31.101:5000

    上面的操作在进行push images的时候发生服务器500的错误!解决的方法如下

    $ su -c "setenforce 0"
    # 增加特权设置,完成私服搭建
    $ docker run -d -p 5000:5000  --name dockerServer --restart=always -v /opt/registry-var/:/var/lib/registry/ --privileged=true registry:2.4.1 
    

    使用私服

    在CentOS7系统下,有两个地方可以配置参数:/lib/systemd/system/docker.service;/etc/sysconfig/docker
    需要修改配置文件,配置文件中增加下面的内容,并且重新启动docker服务

    # 配置私服地址
    OPTIONS='--selinux-enabled --log-driver=journald --insecure-registry 192.168.31.101:5000'
    # 需要配置通过IP访问ducker api,在未来通过maven打包会用到
    --tls=false -H unix://var/run/docker.sock -H tcp://192.168.31.101:2375
    

    当服务器正常启动之后,可以通过如下命令查看一下2375端口是否正常

    netstat -nap | grep 2375
    # 如果能返回一大坨信息则正常
    curl http://192.168.31.101:2375/info
    

    具体的使用方法

    # 下载镜像
    $ docker pull busybox
    # 查看镜像
    $ docker images
    # 修改镜像的tag
    $ docker tag busybox 192.168.31.101:5000/busybox
    # 提交镜像
    $ docker push 192.168.31.101:5000/busybox
    # 删除本地镜像
    $ docker rmi 192.168.31.101:5000/busybox
    # 重新拉取镜像
    $ docker pull 192.168.31.101:5000/busybox
    

    疑难杂症

    发现一个错误:宿主机直接打开的端口在网络可以访问;通过Docker映射的端口无法访问(不是防火墙的问题)
    发现有一个警告

    WARNING: IPv4 forwarding is disabled. Networking will not work.
    

    解决的办法如下:

    $ vi /etc/sysctl.conf
    # 增加:net.ipv4.ip_forward = 1
    # 重启网络服务
    $ systemctl restart network
    # 查看修改结果
    $  sysctl net.ipv4.ip_forward
    

    相关文章

      网友评论

          本文标题:Docker私服搭建

          本文链接:https://www.haomeiwen.com/subject/xxpuqxtx.html