HOME 首页
SERVICE 服务产品
XINMEITI 新媒体代运营
CASE 服务案例
NEWS 热点资讯
ABOUT 关于我们
CONTACT 联系我们
创意岭
让品牌有温度、有情感
专注品牌策划15年

    自定义docker镜像库(自建docker镜像库)

    发布时间:2023-04-14 04:57:53     稿源: 创意岭    阅读: 64        

    大家好!今天让创意岭的小编来大家介绍下关于自定义docker镜像库的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。

    开始之前先推荐一个非常厉害的Ai人工智能工具,一键生成原创文章、方案、文案、工作计划、工作报告、论文、代码、作文、做题和对话答疑等等

    只需要输入关键词,就能返回你想要的内容,越精准,写出的就越详细,有微信小程序端、在线网页版、PC客户端

    官网:https://ai.de1919.com

    创意岭作为行业内优秀的企业,服务客户遍布全球各地,如需了解SEO相关业务请拨打电话175-8598-2043,或添加微信:1454722008

    本文目录:

    自定义docker镜像库(自建docker镜像库)

    一、在群晖的 Docker 中自定义配置 Redis

    搞了半天,最后终于成功了,特此记录一下!

    在本地,新建一个 redis.conf 文件, 只添加一些必要的属性,其它任何非相关属性都删除,整个 redis.conf 文件就三句话 ,比如:

    将该文件上传到 NAS 任意目录下,如下图所示:

    然后,打开 Docker,通过镜像创建容器,如下图所示:

    在高级设置里面,重点是 环境

    根据 Redis 官方说明,将容器内的这两个 装载路径 指向宿主的某个文件夹,即可,如下图所示:

    配置好 后,就可以到 环境 中去配置,其实没啥配置,主要就是在 命令 中修改一下执行的语句即可,如下图所示:

    其实就是添加启动时需要加载的配置文件即可(默认是没有添加任何参数的)。

    至此,配置就全部完毕了,点应用后,就可以启动了。

    如果要修改端口之类的,在 高级设置 中,自行修改就 OK 了。

    附上 Redis 官方说明: https://hub.docker.com/r/_/redis/

    二、docker镜像为什么有自己的ip

    docker镜像有自己的ip的原因是docker属于容器。根据查询相关信息资料,docker容器可以分配并指定ip,尤其是搭建集群时,可以防止容器ip混乱,在启动docker容器的时候,使用默认网络是不支持指派固定ip的,因此要创建自定义网络,设置固定ip。

    三、CICD搭建之 docker私服搭建

    在开发中搭建cicd时docker私服是必不可少的,这里记录一下笔者的私服搭建过程

    版本及说明

    registry是docker的私服

    docker pull registry:2.7.1

    docker的私服ui

    docker pull konradkleine/docker-registry-frontend:v2

    浏览器访问ip+7500/v2,如下图访问正常

    下面要通过registry-ui访问私服,启动脚本需要配置registry的pod的ip和端口,先查看一下registry在docker中的ip,用容器id,命令如下

    查询后得到registry的ip为172.17.0.2,根据前的registry启动脚本可以看到私服在docker中的端口为5000,因此启动命令如下

    私服ui启动完毕,用浏览器访问ip+9080

    现在我们上传一个镜像到私服上看看,先拉取一个用来测试的镜像(不指定tag默认是latest)

    修改镜像的名(这里我们的私服是启动在本机上的,映射到宿主机的端口是7500,所以命名为localhost:7500/redis,tag省略了默认latest)

    推送到私服

    推送成功,访问一下,如图

    不部署registry-ui也是可以的,通过registry的http接口访问,registry-ui只是套了一层皮肤,通过web浏览方便些

    先删除本地docker中的镜像

    删除后可以验证一下本地是否已经删除,命令如下

    拉取私服localhost:7500上的镜像

    拉取成功

    docker私服都是独立的,只要地址不同就不会冲突,我们可以验证一下,再启一个registry,然后推送一个镜像(要注意我们是同一台宿主机,因此宿主机的端口和docker中的name需要修改一下,跟前一个registry不能冲突)

    到目前为止,我们上传的到私服的镜像都是在registry的容器中,容器重启镜像就全没了,所以我们得把数据持久化到宿主机的磁盘上。

    网上有些资料通过设置环境变量或者配置文件来实现持久化,尝试了几种都没有成功,简单例举几个

    根据图中信息,可以看出registry的配置文件路径是"/etc/docker/registry/config.yml",registry中存储镜像的路径是/var/lib/registry。

    于是,我们有2种解决办法

    1.通过cmd命令让registry读取自定义的配置文件

    2.将镜像存储路径映射到宿主机磁盘

    我们先来尝试第一种,为了大家不走弯路,我直接将镜像中配置文件原样copy出来,只修改镜像存储路径将 /var/lib/registry修改为/opt/docker-image。

    通过以下命令,进入registry的容器,然后查看配置文件

    修改后的配置文件

    将文件保存到提前建好的宿主机的目录下

    /home/wxd/cicd/registry/registry-config/config.yml

    准备用来存储镜像的目录

    /home/wxd/cicd/registry/docker-image

    启动脚本

    启动后用刚才的命令push一个镜像

    docker push localhost:7501/redis

    执行完毕后,看看宿主机目录下是否后数据生成。

    可以看到有数据生成,详细的可以自己导docker目录下去看

    然后重启一下容器,验证一下registry中的数据有没有丢失,可以使用上文介绍的方法验证redis进行是否存在(可以通过ui或者registry的http接口 http://192.168.56.102:7501/v2/_catalog )

    停掉刚才启动的容器,记得把宿主机的docker-image目录下的文件清理掉。

    脚本如下

    启动完毕后,验证方法同方案一,先push镜像,然后检查宿主机目录下是否有数据,重启registry,看镜像是否还在

    四、docker如何使用自带jdk部署docker

    docker自带jdk部署docker安装方式:

    1、在dockerhub中,jdk和tomacat不用想就知道会有现成的打包好的镜像,果断使用(建议使用更新时间比较近的)。

    2、使用docker-pull将镜像下载下来。

    3、使用docker-run,name-tomacat(自定义的镜像名)-p8080:8080-d-tomacat(镜像名)来启动tomacat,这个时候tomacat和jdk都搞定了。

    4、使用docker-ps,查看启动的镜像,启动成功后即可在访问ip:8080f访问到tomacat服务启动后的主页。

    以上就是关于自定义docker镜像库相关问题的回答。希望能帮到你,如有更多相关问题,您也可以联系我们的客服进行咨询,客服也会为您讲解更多精彩的知识和内容。


    推荐阅读:

    自定义动画怎么设置声音(自定义动画怎么设置声音效果)

    电脑怎么设置图标自定义摆放(电脑桌面布局怎么变成自定义)

    自定义名片DIY助手(自定义名片diy助手在哪)

    vi设计手册完整版pdf(vi企业形象设计手册)

    数据分析有几种方法(数据分析有几种方法)