开发者社区> binarydady> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Docker技术实践——高级篇

简介:
+关注继续查看


1.1      搭建私有仓库

我们需要看下如何搭建容器的私有仓库:

Mavan的管理一样,Dockers不仅提供了一个中央仓库,同时也允许我们使用registry搭建本地私有仓库。

私有仓库有许多优点:

1.节省网络带宽,不用每个人都去中央仓库上面去下载,只需要从私有仓库中下载即可;

2.提供镜像资源利用,针对于公司内部使用的镜像,推送到本地的私有仓库中,以供公司内部相关人员使用。

#docker pull registry

#dockerrun -d -p 5000:5000 --name registry-srv registry

默认仓库存放于容器内的/tmp/registry目录下

镜像需要通过docker tag进行修改,符合仓库需要。

#docker push 192.168.1.104:5000/hello-world

如果出现如下错误:

http: server gave HTTP response to HTTPS client

这是因为docker registry交互默认使用的是https,然而此处搭建的私有仓库只提供http服务,所以当与私有仓库交互时就会报上面的错误。

MAC机器中修改:

在Docker的preference中,点击Daemon,Basic页签中,在Insecureregistries中增加一行:

http://192.168.1.104:5000

点击apply and restart重启docker即可。

Ubuntu机器中修改:

 (Ubuntu的地址为/etc/init/docker.conf),在其中增加

--insecure-registry 192.168.1.104:5000

exec "$DOCKERD" $DOCKER_OPTS --raw-logs --insecure-registry 192.168.1.104:5000

然后重启 docker;

#service  docker restart;

如果上述方法不行,那么如下:

在”/etc/docker/“目录下,创建”daemon.json“文件。在文件中写入:

{ "insecure-registries":["192.168.1.104:5000"]}

然后重启 docker;

#service  docker restart;

1.2   传镜

# docker push registry:5000/image_name

1.3   查看

# curl -XGET http://registry:5000/v2/_catalog

# curl -XGEThttp://registry:5000/v2/image_name/tags/list

例如:

#curl -XGEThttp://192.168.1.104:5000/v2/_catalog

输出如下:

{"repositories":["centos","hello-world"]}

# curl -XGEThttp://192.168.1.104:5000/v2/centos/tags/list

输出如下:

{"name":"centos","tags":["7.1"]}

 

1.4      Docker-compose

Docker-compose需要docker-compose.yml文件,依赖yml文件,没有yml文件就没有勇武之地了。

Docker Compose是一个用来定义和运行复杂应用的Docker工具。使用Compose,你可以在一个文件中定义一个多容器应用,然后使用一条命令来启动你的应用,完成一切准备工作。

编辑docker-compose.yml内容如下:

mysql:

  image: csphere/mysql:5.5

  ports:

  - "3306:3306"

wordpress:

  image: csphere/wordpress:10

  ports:

  -"80:80"

启动容器如下:

docker-compose up -d   

关闭容器:

docker-compose stop

 

2.    Q&A

2.1 编译错误

Rpmdb checksum is invalid: dCDPT(pkgchecksums): elfutils-libs.x86_64 0:0.168-8.el7 - u

答:在 Docker 文件中第一个 yum 之前加入如下命令对rpmdb 进行构筑.

RUN     rpm --rebuilddb&& \

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
技术:Docker基础知识(一)
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。Docker官网:https://www.docker.com/
0 0
【K8S专栏】Docker容器技术剖析
【K8S专栏】Docker容器技术剖析
0 0
Docker容器化技术实战操作汇总(附开发环境搭建)
docker是什么: Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
0 0
Docker隔离技术
Docker系列文章: 此篇是Docker系列的第九篇,之前的文章里面或多或少的提到Docker的隔离技术,但是没有很清楚的去聊这个技术,但是经过这么多文章大家一定对Docker使用和概念有了一定的理解,接下来我们聊下底层一些技术,帮助大家解解惑,先从隔离技术开始吧。此外大家一定要按照我做的Demo都手敲一遍,印象会更加深刻的,加油! 为什么要学习Docker 1、Docker基本概念 2、Docker镜像基本原理 3、Docker容器数据卷 4、Dockerfile 5、Docker单机网络上 6、Docker单机网络下 7、Docker单机网络实战 8、如何理解Namespace
0 0
Docker从入门到掉坑(三):Docker compose技术
Docker从入门到掉坑(三):Docker compose技术
0 0
Docker 容器技术,让你不再为环境而烦恼(二)
Docker 容器技术,让你不再为环境而烦恼
0 0
Docker 容器技术,让你不再为环境而烦恼(一)
Docker 容器技术,让你不再为环境而烦恼
0 0
Docker----容器名互联link技术及其本质
Docker----容器名互联link技术及其本质
0 0
干货 | 一文搞定 Docker 容器技术与常用命令
干货 | 一文搞定 Docker 容器技术与常用命令
0 0
+关注
binarydady
深入底层,挖掘应用 Problem Shooter/Performance Analyzer
文章
问答
文章排行榜
最热
最新
相关电子书
更多
应用 Docker 进行持续交付:用技术改变交付路程
立即下载
应用Docker进行持续交付:用技术改变交付路程
立即下载
4天实战 轻松玩转docker
立即下载