docker仓库地址(docker仓库管理)
本篇文章给大家谈谈docker仓库地址,以及docker仓库管理对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、docker搭建私有仓库
- 2、5分钟轻松教你学会:Docker镜像仓库的使用
- 3、详解Docker——你需要知道的Docker进阶知识二
- 4、怎么搭建docker 私有仓库
- 5、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仓库管理的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。