美文网首页
Docker基本实践(六)-仓库

Docker基本实践(六)-仓库

作者: 岑景 | 来源:发表于2019-07-12 14:28 被阅读0次
    image.png
    (一).公用仓库的调用
    1.阿里云镜像加速拉取
    2.镜像拉取对nginx的更新
    3. 镜像拉取对。。。的使用
    (二).私有仓库的创建和使用
    1.registry快速搭建私有仓库
    2.Harbor的使用

    (一).公用仓库的调用
    .共有仓库的特点 官方、权威 数量大、种类多
    1.阿里云镜像加速拉取

    阿里云创建镜像加速器


    image.png

    点击查看底部的镜像加速器有 加速地址和文档 需要用


    image.png
    配置镜像加速器
    (SAAS) root@ecs-43a6:~# cd /etc/docker

    (SAAS) root@ecs-43a6:/etc/docker# ls
    key.json
    (SAAS) root@ecs-43a6:/etc/docker# vim daemon.json
    ################################################
    此处操作错误,不要跟着进行(错误记录!!)
    因为daemon.son创建然后重启导致各种问题?! > 删掉daemon.json重启恢复


    image.png image.png
    重启docker添加加入的镜像加速器:
    (SAAS) root@ecs-43a6:/etc/docker# systemctl daemon-reload 关闭容器
    (SAAS) root@ecs-43a6:/etc/docker# systemctl restart docker 重启容器
    image.png
    systemctl restart docker 命令输入报错问题?!!
    image.png

    运行docker ps 就会询问你是否有启动docker!!

    image.png
    这个是 未授权:需要身份验证问题!!!
    image.png
    docker使用报错参考:[https://blog.csdn.net/qq_42114918/article/details/81840335]
    其他报错参考。
    #################################################
    cd etc/docker > vim daemon.json
    image image

    进行登陆认证,在阿里云界面查看登陆认证方式 填入密码 登录成功!!

    image.png
    上面镜像加速没完成?!下载蛮快的?。。
    2.镜像拉取对nginx的更新
    从Docker Registry获取镜像 参数:docker pull [选项] [Docker Registry地址] <仓库名>:<标签>
    如果不写Registry地址则默认从官方仓库拉取
    例如,使用国内镜像:docker pull registry.docker-cn.com/library/centos:6

    docker search nginx 查看公共仓库的nginx

    image.png
    docker history nginx:latest 查看本地nginx的现有版本 没有就报错!~
    docker pull nginx 通过公共仓库下载nginx
    image.png
    下载完成后查看nginx的版本发现版本已经更新
    image.png
    2.1.执行Nginx镜像来生成一个容器

    docker run --name [容器名] [选项] -p <主机端>:<映射端口> [仓库名]
    -d表示在后台运行 -p表示设置端口 <主机端>:<映射端口>
    docker run --name nginxrq -d -p 80:80 nginx


    image.png

    本地输入localhost,看到nginx默认页面


    image.png
    可以进入容器,修改一些内容 参数:docker exec -it [containerName] bash
    如,执行docker exec -it nginxrq bash
    image.png
    修改echo '<h1>hello docker</h1>' > /usr/share/nginx/html/index.html,然后exit退出,改变nginx的默认显示主页.
    image.png

    3. 镜像拉取对。。。的使用

    (二).私有仓库的创建和使用
    .私有仓库的特点 私密性、安全性高 访问速度快 自主控制、维护性高

    Docker是存放仓库的服务器,每个服务器上都可以放置多个仓库,而每个仓库上可以放置多个镜像,每个镜像上可以运行多个容器,每个容器上可以跑一个应用或应用组。

    内部网络搭建docker私有仓库可以使内网人员下载和上传都非常快速,不受外网带宽等因素的影响,同时不在内网的人员无法下载我们的镜像

    1.registry快速搭建私有仓库

    需要配置两个虚拟机环境

    (开发机xxx.xxx.xxx.156,私有仓库xxx.xxx.xxx.153)

    在153机器上下载registry镜像 docker pull registry

    image

    下载完之后我们通过该镜像启动一个容器 docker run -d -p 5000:5000 registry

    后面用到的registry都为容器,换成其他容器如hello-world

    后面想还用5000端口必须docker stop id 关闭容器!!!

    image

    默认情况下,会将仓库存放于容器内的/tmp/registry目录下,

    如果容器被删除,则存放于容器中的镜像也会丢失,

    所以我们一般情况下会指定本地一个目录挂载到容器内的/tmp/registry下

    不过具体的情况还是要到容器里去看 先启动容器:

    docker run -d -p 3389:3389 -v /opt/data/registry:/tmp/registry registry

    image

    docker exec -it 17437c3e89fd241128a91944177cd9058869341864ce091c19c4504b44cbb248 sh

    -it 后面的是自己刚启动的容器id名

    然后输入ls /tmp/ 可以看到容器存放位置不在/tmp 下!!!

    (这儿应该没有registry文件??? 我原本创建有其他docker容器导致的?)

    image

    docker run -d -p 3389:3389 -v /opt/data/registry:/var/lib/registry -v /data/config.yml:/etc/docker/registry/config.yml registry

    2.Harbor的使用

    3.Docker安装Nexus
    可能暂时不弄

    要用的文档
    (https://wenku.baidu.com/view/b91defd28662caaedd3383c4bb4cf7ec4afeb6bb.html)
    (https://www.cnblogs.com/Tempted/p/7768694.html)
    (https://blog.csdn.net/funtaster/article/details/83268974)
    (https://www.cnblogs.com/xiaolebailetu/p/10027399.html)
    [https://blog.csdn.net/vicky_lov/article/details/87969943]
    https://blog.csdn.net/boling_cavalry/article/details/78818462
    不错:[https://blog.51cto.com/5ydycm/2119382]

    相关文章

      网友评论

          本文标题:Docker基本实践(六)-仓库

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