9、搭建本地仓库

1、环境
    192.168.47.129 作为私有镜像的宿主机
    192.168.47.130 测试访问本地的私有仓库
    宿主机全为centos7

2、下载镜像容器镜像
    机器  192.168.47.129
    下载镜像
        docker pull registry
    查看镜像
        docker images

3、配置容器启动配置

    cd /data
    touch config.yml
    vim config.yml


    version: 0.1
    log:
      fields:
        service: registry
    storage:
      delete:
        enabled: true
      cache:
        blobdescriptor: inmemory
      filesystem:
        rootdirectory: /var/lib/registry
    http:
      addr: :5000
      headers:
        X-Content-Type-Options: [nosniff]
    health:
      storagedriver:
        enabled: true
        interval: 10s
        threshold: 3
    保存

4、启动镜像容器
    机器  192.168.47.129
    –restart=always 表示自动启动容器
    -v <宿主机目录>:<容器目录> 将宿主机的目录映射到容器上
    –privileged=true 给容器加权限,这样上传就不会因为目录权限出错
    /var/lib/registry 这个目录是docker私有仓库,镜像的存储目录

    # 创建数据存储的文件夹 ,将容器的/tem/registry目录映射到/docker/registry
    mkdir -p /docker/registry

    # 启动容器,设定端口5000 ,然后映射文件夹,-v <宿主机目录>:<容器目录>
    docker run -d -p 5000:5000 --name registry-ser --restart=always --privileged=true  -v /opt/data/registry:/var/lib/registry  -v /data/config.yml:/etc/docker/registry/config.yml  registry

    #--restart 标志会检查容器的退出代码,并据此来决定是否要重启容器,默认是不会重启。
    #--restart的参数说明
    #   always:无论容器的退出代码是什么,Docker都会自动重启该容器。
    #   on-failure:只有当容器的退出代码为非0值的时候才会自动重启。
    #另外,该参数还接受一个可选的重启次数参数,`--restart=on-fialure:5`表示当容器退出代码为非0时,Docker#会尝试自动重启该容器,最多5次。
    # /var/lib/registry 为镜像仓库容器的镜像数据目录,将它映射到主机目录
    # /etc/docker/registry/config.yml为镜像仓库的配置文件,将它映射到主机上的目录
    #删除容器
    docker rm -f registry-ser

5、开放注册https协议
    机器  192.168.47.129

    vim  /etc/docker/daemon.json
    # 如果配置文件为空即没有“{}”,添加
    {"insecure-registries":["192.168.47.129:5000"]}
    # 如果配置文件不为空即,有“{}”,在“{}”添加
    "insecure-registries":["192.168.47.129:5000"]

    重启docker守护进程
    service docker restart

6、推送镜像到仓库
    机器  192.168.47.129
    # 必须要先将镜像的名称给变成 域名或ip/镜像名
    docker tag centos7:latest 192.168.47.129:5000/centos7

    # 推送镜像到本地仓库
    docker push 192.168.47.129:5000/centos7

    # 推送成功后就可以在/docker/register的目录下看到相关的镜像信息

7、从本地镜像仓库下载镜像
    机器  192.168.47.129

    # 删除本地上传的那个仓库,然后下载看看
    docker rmi 192.168.47.129:5000/centos7

    # 下载本地仓库的镜像
    docker pull 192.168.47.129:5000/centos7

    # 查看是否下载成功
    docker images

8、远程机器访问私有机器
    机器 192.168.47.130
    按步骤4修改本地docker配置,并重启本机docker守护进程
    # 下载私有仓库中的镜像到本地
    docker pull 192.168.47.129:5000/centos7
    # 查看是否下载成功
    docker images

8、将代码同步到容器并发送到远程机器的上运行的方法
    在本机建立数据卷容器,是本机的代码目录映射到容器的代码目录
    运行另一个容器并将挂载这个数据卷容器,在运行的容器内执行cp
    命令,将容器内的数据卷目录的内容copy到新的文件夹,将容器提交到本地镜像仓库,‘那么此镜像就包含的代代码片段
    在远程机器上从本地镜像仓库中下载此镜像就可以使用了

9、删除镜像仓库中的镜像
    docker镜像的删除要在registry启动配置文件中添加允许删除选项,使用api接口删除镜像索引,使用registry garbage-collect /etc/docker/registry/config.yml 进行垃圾回收,再在镜像文件存储文件将将镜像文件删除,使用docker restart 命令重启 registry 容器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值