您的位置:首页 > 运维架构 > Docker

mesos和Elasticsearch设计(Docker部署)(三)

2015-10-04 10:27 786 查看
建立本地仓库

第一个方法不成功,就不提了。

下面用另一个方法。

1、如果本地没有拉取过docker-registry,则首次运行会pull registry,运行时会映射路径和端口,以后就可以从
/opt/data/registry
下找到私有仓库都存在哪些镜像,通过主机的哪个端口可以访问。

$docker run -d -e SETTINGS_FLAVOR=dev -e STORAGE_PATH=/tmp/registry -v /opt/data/registry:/tmp/registry -p 5000:5000 registry

报错:fata[0000]:......no such file or directory,Are you trying to connect to a TLS-enable daemon without TLS?

解决:运行 systemctl start docker,再运行上面的命令就可以了

在本地浏览器运行127.0.0.1:5000就可以看到仓库的目录了。

2、常识


下面是在本地机器运行
docker images
的输出结果:



我们可以发现我们常说的“ubuntu”镜像其实不是一个镜像名称,而是代表了一个名为ubuntu的Repository,同时在这个Repository下面有一系列打了tag的Image,Image的标记是一个GUID,为了方便也可以通过Repository:tag来引用。

那么Registry又是什么呢?Registry存储镜像数据,并且提供拉取和上传镜像的功能。Registry中镜像是通过Repository来组织的,而每个Repository又包含了若干个Image。

Registry包含一个或多个Repository
Repository包含一个或多个Image
Image用GUID表示,有一个或多个Tag与之关联

那么在哪里指定Registry呢?让我们再拉取一个更完整命名的镜像吧:

下一步是创建容器并做相关操作。创建一个 Docker 容器的方法是使用
docker run
命令,该命令通过参数指定 Docker 容器的某些属性,同时也通过参数指定 Docker 容器运行的程序。我们将做这些操作:创建 Docker 容器,指定容器运行一个 bash 会话,然后我们通过 bash 登入容器并修改容器属性,最后将容器保存为一个镜像,以备后续使用。
通过
docker run
创建容器并指定运行 bash 后, Docker 呈现给我们一个 bash 会话,我们据此修改 Docker 容器。在下面的命令中使用你环境中实际的镜像 ID 替换我这里的 ad892dd21d60。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: