docker仓库地址(docker仓库管理)

本篇文章给大家谈谈docker仓库地址,以及docker仓库管理对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

docker搭建私有仓库

  Docker 官方提供了一个搭建私有仓库的镜像 registry ,运行该镜像的容器并且对外暴露5000端口就ok了。

  如果是在内网环岁伏境中,可以之间使用,如果是外网访问内网,可以借助花生壳等做个内网穿透。

/Users/miuye/Public/registry 是我个人的挂载的本地目录,push到该仓库的镜像会保存在该路径下。

安装完成后,可以通过访问 进行验证,看到如下图片就说明成功了。

以httpd作为实验对象推送到私有仓库中。

 

 

推送完后可以通过访问 进行验证乎码携

 

报错:http: server gave HTTP response to HTTPS client

原因:Docker自从1.3.X之后docker registry交互默认使用的是HTTPS,但是搭建私有镜像默认使用的是HTTP服务,所以与私有镜像交时出现以上错误。

解决办法 :

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock 后面加参数--insecure-registry 192.168.1.66:5000

【注意:192.168.1.66是我私有仓库所在主机的ip,需要改成自己的仓库ip或者域名】

修改好后重启docker 服务

加入以下内容:(注意ip改成自己的)

修改好后重启docker 服务

 

 

4.1 在push端添加host后通过域名进行push

2、pull端添模磨加hosts后通过域名进行pull

docker.service 和 daemon.json 也修改为对应域名

这样push和pull的时候如果仓库ip发生了变化,只需要修改hosts即可。

 

参考链接:

 

如有不对,烦请指出,感谢!

5分钟轻松教你学会:Docker镜像仓库的使用

镜像保存在Registry的仓库中,默认的Registry是由Docker公司运营的公共Registry服务,即Docker Hub,网址为: 。可以把Docker Hub看成类似于Github一样的网址。

1、登录「docker」

命令:docker login,显示Login Succeeded说明成功,没登录的话,需要输入用户名username和密码password。

2、创建镜像

使用docker-compose来创建镜像,在yml文件中还要定义项目所依赖的容器(redis和mysql)

命令:docker-compose up -d

docker-compose.yml文件如下:

3、查看镜像

命令:docker images

说明:

REPOSITORY:该镜像所属的仓库名称

TAG:镜像的标签(见下面介绍)

IMAGE ID:镜像ID

CREATED:镜像创建的时间

SIZE:镜像的大小

4、局明tag标签(镜像的标签)

标签介绍

作用蚂洞:一个仓库中可以有多个镜像。为了区分一个仓库中不同的镜像,Docker提供了标签(tag)的功能,每个镜像在列出来时都会带有一个标签,如:16.04、18.04、quantal或者precise等。

每个标签对组成特定镜像的一些镜像层进行标记(比如,标签16.04就是对桐物告所有ubuntu 16.04镜像的层的标记)

同一个仓库中,可以同时存在多个相同的镜像(IMAGE ID相同),只要标签(TAG)不同就可以了

命令:docker tag jeecg-boot-system:latest xiaoxiaoyuyu123/aids:jeecg-boot-system

说明:

jeecg-boot-system:latest(本地仓库名称+标签)

xiaoxiaoyuyu123/aids:jeecg-boot-system(私服仓库地址+标签)

5、上传到私有仓库

命令:docker push xiaoxiaoyuyu123/aids:jeecg-boot-system

说明:

xiaoxiaoyuyu123/aids:jeecg-boot-system(私服仓库地址+标签)

1、先登录私服地址,然后从上面pull下来镜像

命令:docker pull xiaoxiaoyuyu123/aids:jeecg-boot-system

2、上传服务器yml文件,使用docker-compose来启动镜像

命令:docker-compose -f ./docker-compose-server.yml up

docker-compose-server.yml文件如下:

好啦, 关于Docker镜像仓库的使用分享就到这啦~

Webfunny专注于微信小程序、H5前端、PC前端线上应用实时监控,实时监控前端网页、前端数据分析、错误统计分析监控和BUG预警,第一时间报警,快速修复BUG!支持私有化部署,容器化部署,可支持千万级PV的日活量!

[img]

详解Docker——你需要知道的Docker进阶知识二

Docker镜像

镜像仓库(Repository)用于存放镜像,每个仓库都有唯一的地址,和网址类似。镜像仓库托管在某个 Registry,Registry 和GitHub类似。Docker 提供了一个官方的 Registry,官方 Registry 里的镜像仓库地址可以省去前面的域名前缀,其它 Registry 里的镜像仓库地址必须要指定域名前缀,以保证唯一性。

镜像仓库地址后面可以跟一个 TAG。比如一个镜像名称 ubuntu:14.04 ,冒号前面的 ubuntu 是镜像仓库地址(由于是官方 Registry 里的,可以省略域名前缀),后面的 14.04 是 TAG,TAG 通常设置为镜像的版本号。

Docker 镜像是分层存储的,每一个镜像都由多层组成。镜像之间会森察世共享一些相同的层,从而减小镜像占用的存储空间。

也可以查看指定的镜像:

查看镜像的详细信息

比较常用的配置参数为 -a ,代表下载仓库中所有 TAG 的镜像,默认只下载 latest TAG 的镜像。

如果要下载 ubuntu:14.04 镜像没没,可使用如下命令:

对于我们 pull 的新镜像 ubuntu:14.04 来说,如果我们需要对其进行更新,可以创建一个容器,在容器中进行修改,然后将修改提交到一个新的镜像中。

提交修改使用如下命令:

该命令从一个修改过的容器创建一个新的镜像。例如,我们运行一个容器,然后在其中创建一个文件,最后使用 commit 命令:

通过上述操作我们创建了一个新的镜像,但是本方法不推荐在生产环境使用,因为这种方式的可维护性很差。推荐的创建镜像的方法是使用 Dockerfile ,修改镜像可通过修改 Dockerfile ,然后使用新的 Dockerfile 来构建新的镜像。

docker 可以从一个 Dockerfile 文件中读取指令来构建镜像。 Dockerfile 是一个包含用户构建镜像所需命令的文本文件。在 创建好该文件后,我们此肢可以使用如下命令来构建镜像:

对于一个 Dockerfile 文件内容来说,基本语法格式如下所示:

使用 # 号作为注释,指令( INSTRUCTION )不区分大小写,但是为了可读性,一般将其大写。 Dockerfile 中的指令一般包含下面几个部分:

下面是一个最基本的 Dockerfile :

通过阅读上述内容中我们熟悉的一些 linux 指令,可以很容易的知道该 Dockerfile 将创建一个 apache 镜像。

其中 FROM 指定基础镜像。 RUN 命令默认使用 /bin/sh ,并使用 root 权限执行。 CMD 命令也是默认在 /bin/sh 中执行,但是只能有一条 CMD 指令,如果有多条则只有最后一条会被执行。

下面我们创建一个空目录,在其中编辑 Dockerfile 文件,然后基于此文件构建一个新的镜像:

在构建完成后,我们可以使用该镜像启动一个容器来运行 apache 服务,运行如下命令:

此时,容器启动成功后,并且配置了端口映射,我们就可以通过本机的 8000 端口访问容器 hellodocker3 中的 apache 服务了。我们打开浏览器,输入 localhost:8000

删除 ubuntu:latest 镜像可以使用如下命令:

删除所有的镜像

怎么搭建docker 私有仓库

环境准备

环境:两个装有Docker的Ubuntu虚拟机

虚拟机一:192.168.112.132 用户开发机

虚拟机二:192.168.112.136 用作私有孙培仓库

此处我们准备了两个虚拟机,分别都安装了Docker,其中132机器用作开发机,136机器用作registry私誉拦有仓库机器。环境准备好之后接下来我们就开始搭建私有镜像仓库。

搭建私有仓库

首先在136机器上下载registry镜像

$ sudo docker pull registry

下载完之后我们通过该镜像启动一个容器

$ sudo docker run -d -p 5000:5000 registry

默认情况下,会将仓库存放于容器内的/tmp/registry目录下,这样如果容器被删除,则存放于容器中的镜像也会丢失,所以我们一般情况下会指定本地一个目录挂载到容器内的/tmp/registry下,如下:

$ sudo docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry

可以看到我们启动了一个容器,地址为:192.168.112.136:5000。

测试

接下来我们就要操作把一个本地镜像push到私有仓库中。首先在132机器下pull一个比较小的镜像来测试(此处使用的是busybox)。

$ sudo docker pull busybox

接下来修改一下该镜像的tag。

$ sudo docker tag busybox 192.168.112.136:5000/busybox

接下来把打了tag的镜像上传到私有仓库。

$ sudo docker push 192.168.112.136:5000/busybox

可以看到push失败,具体错误如下:

2015/01/05 11:01:17 Error: Invalid registry endpoint : Get : dial tcp 192.168.112.136:5000: connection refused. If this private registry supports only HTTP or HTTPS with an unknown CA certificate, please add `--insecure-registry 192.168.112.136:5000` to the daemon's arguments. In the case of HTTPS, if you have access to the registry's CA certificate, no need for the flag; simply place the CA certificate at /etc/docker/certs.d/192.168.112.136:5000/ca.crt 11

因为Docker从1.3.X之后,与docker registry交互默认使用的是https,然而此处搭建的私有仓库只提供http服务,所以当与私有仓库交互时就会报上面的错误。为了解决这个问题需要在启动docker server时增加启动参数为默认使用http访问。修改docker启动配置文件(此处是修改132机器的配置)Ubuntu下配置文件地址为:/etc/init/docker.conf,在其中增加–insecure-registry 192.168.112.136:5000如下所示:

$ sudo vi /etc/init/docker.conf

修改完之后,重启Docker服务。

$ sudo restart docker

重启完之后我们再次运行推送命令,把本地镜像推送到私有服务器上。

$ sudo docker push 192.168.112.136:5000/busybox

可以看到镜像已经push到私有仓库中去了。

接下来我们删除本地镜像,然后从私有仓库中pull下来该镜像。

$ sudo docker pull 192.168.112.136:5000/busybox

到此就搭建好了Docker私有仓库。上面庆凯胡搭建的仓库是不需要认证的,我们可以结合nginx和https实现认证和加密功能。

docker私有仓库搭建

docker pull registry

docker run -itd -v /registry/data(数据存放的路径):registry/registry(镜像存放路径)-p 8080:5000 registry

检查仓库运行状态: 

请空塌求成功则是运行状态

docker pull ubuntu

docker tag ubuntu:latest localhost:8080/ubuntu:v0.1 ( ip:8080/ubuntu:v0.1 执行IP方法需要配置)

docker push localhost:8080/ubuntu:v0.1  (ip:8080/岩纳ubuntu:v0.1)

docker pull  localhost:8080/ubuntu:v0.1  (ip:8080/ubuntu:v0.1)

FQA:

1、执行以下命令需要先配置daedemo.json

{

  "features": {

    "buildkit": true

  },

  "insecure-registries": [

    "192.168.0.101:8080"

  ],

  "experimental": false,

  "builder": {

    "gc": {

      "enabled": true,

      "defaultKeepStorage": "20GB"

    }

  }

}

2、docker push received unexpected HTTP status: 503 Service Unavailable

  有2种情况:

    1、是私有本粗亏没地仓库在同局域网,查看服务是否启动,一般是没有启动    

    2、可能需要证书:docker run -d \

  -p 8080:5000 \

  -v /usr/local/registry:/var/lib/registry \

  -v /usr/local/certs:/certs \

  -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/server.crt \

  -e REGISTRY_HTTP_TLS_KEY=/certs/server.key \

  --restart=always \

  --name registry \

  registry

关于docker仓库地址和docker仓库管理的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

标签列表