暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

初探Docker镜像管理:写给初学者!

原创 神州数码云基地 2022-06-23
1024



Cloud Native

ESG服务BU云原生交付中心、云基地

在云原生上的尝试、调研与分享



本期作者



朱志强

热爱技术,热爱生活


在此前的云原生项目中有这样一个需求——需要在项目管理平台上集成JFrog的一些功能。而在调研的过程中,我们发现JFrog的jcr版本是支持建立Docker仓库的,自然对镜像的管理(如增删改查)就成为了不可或缺的部分!


以此为背景,本期推文我们就以JFrog Artifactory的jcr版本为基础,用一个小案例简要介绍如何对Docker镜像进行管理。




 Docker镜像管理 



Docker仓库


本地Docker仓库是可以部署和托管内部Docker镜像的地方。


实际上,它是一个Docker注册表,能够托管被标记的Docker镜像集合,这些镜像就组成了Docker仓库。



而JFrog的jcr版本是支持建立上述Docker仓库。这里首先我们需要使用 JFrog Artifactory 的 jcr 版本,该版本的安装、启动在之前的文章中已经介绍过了。(点击下方链接跳转阅读)





镜像管理实例


Step 1: 新建仓库


新建一个 Docker 类型的仓库,具体下图所示:


/ 新建Repositories


选择Docker类型


Step 2:修改Docker配置文件


使用下面的命令:


    vim etc/docker/daemon.json
    复制


    在进入vim编辑器后,新增以下内容(以ip:port的方式添加json):


      {"insecure-registries":["127.0.0.1:8081","192.168.253.132:8081"]
      }


      {
       "registry-mirrors": ["https://ustc-edu-cn.mirror.aliyuncs.com"]
      }
      复制


      / 在vim中的具体操作


      注:

      • 192.168.253.132:8081:是我自己的虚拟机开启JFrog服务的地址和端口号。

      • https://ustc-edu-cn.mirror.aliyuncs.com:是中科大的daocloud仓库。


      使用wq命令保存退出后,使用以下命令重新加载配置以及重启Docker:

        systemctl daemon-reload && systemctl restart docker
        复制



        Step 3:登入Artifactory


        在执行此步骤前,请先确认虚拟机已经安装Docker。可执行以下命令,查看Docker是否已被安装:


          docker --version
          复制


          / 已安装Docker


          使用以下命令在Docker服务器上登录Artifactory:


            docker login 192.168.253.132:8081
            user:自己的用户名
            password:自己的密码
            复制


            第一次登录会提示输入用户名和密码,按回车键登录。


            由于我已经登录成功了,所以只有Succeeded的提示。


            / 已登入成功


            Step 4:编辑Dockerfile文件


            下面我们需要在当前目录下(我自己的是root目录),新建一个文件夹,再新建一个名为Dockerfile的文件。


            首先查看当前目录:


              pwd
              复制


              / 查看当前目录


              执行以下命令,来新建文件夹以及文件:


                mkdir test-docker
                cd test-docker
                touch Dockerfile
                复制


                建好之后,cd进入test-docker目录下,使用以下命令进入vim编辑器对Dockerfile文件进行编辑:


                / 编辑Dockerfile


                编辑的具体内容如下:


                / 编辑内容


                接着在test-docker目录下,新建文件,新建文件名需和Dockerfile文件中三行ADD后的文件名保持一致:

                  touch jdk-8-linux-x64.tar.gz
                  touch apache-tomcat-8.tar.gz
                  touch server.xml
                  复制


                  / 新建文件


                  touch命令建的是空文件,需要将下载好的apache-tomcat-8.tar.gz文件与jdk-8-linux-x64.tar.gz文件移动到test-docker目录下(推荐使用Xftp工具操作):



                  / 将文件移动到空文件下


                  注:以上添加文件的过程,只是为了添加构建镜像前的源文件而已,并非一定要这些文件。实质上放一个txt文件也可以将其打成镜像,在Dockerfile文件中进行声明即可。



                  Step 5:构建Docker镜像


                  使用以下命令对Docker进行构建:


                    docker build . -t zhuzqc
                    复制

                    注:zhuzqc是镜像名。



                    / 构建成功


                    再给自己生成的镜像增加一个tag标签:


                      docker tag zhuzqc 192.168.253.132:8081/test-one/zhuzqc:one
                      复制


                      上传(push)到 JFrog Artifactory :


                        docker push 192.168.253.132:8081/test-one/zhuzqc:one
                        复制


                        push成功后如下图所示:


                        / push成功


                        于是,我们就可以在JFrog Artifactory中查看镜像的相关信息,且能够看到所有的文件层信息。



                        / 在JFrog Artifactory中查看镜像信息


                        最后,可以查看在虚拟机中是否可以对JFrog中的镜像文件进行pull操作:


                          docker pull 192.168.253.132:8081/test-one/zhuzqc:one
                          docker images
                          复制


                          / 本地虚拟机对JFrog中的镜像文件进行pull操作


                          至此,在本地虚拟机上对JFrog Artifactory的镜像操作(push&pull)就已经完成了。




                          扫描下方二维码,

                          加入群聊,更多云原生的故事等你来解锁!





                           #更多精彩内容 




                          最后修改时间:2022-06-27 09:23:18
                          「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
                          关注作者
                          【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                          评论