Docker云生态

[Docker性能优化]Docker基本操作

2017-06-11  本文已影响128人  行书以鉴

书中章节:
第1章 准备Docker 宿主机
第2章 优化Docker 镜像
第3章 用Chef 自动化部署Docker
第4章 监控Docker 宿主机和容器
第5章 性能基准测试
第6章 负载均衡
第7章 容器的故障检测和排除
第8章 应用到生产环境

第一章的内容在这里就一次性带过了,不熟悉搭建的读者可以参考我的文章.

笔者电脑环境.png

书中第一章采用的是docker education 的docker镜像:https://github.com/docker-training/webapp
$ git clone https://github.com/docker-training/webapp.git
$ cd webapp/
$ docker build -t cai980273879@qq.com

构建好的镜像.png

登录dockerhub

没有注册的可以访问:https://hub.docker.com/进行注册,尽量用永久邮箱,因为一次性邮箱可能会被墙,请自行梯子
$ docker login
Username: cai980273879
Password: ***************
Login Succeeded

然后在dockerhub上面创建镜像仓库

创建dockerhub镜像仓库 本人的镜像仓库.png

dockerPush到dockerHub的个人镜像仓库

$ docker push cai980273879/webapp

dockerPush到dockerHub的个人镜像仓库.png

如果docker push失败就多push几次(墙太厚>-<),如果有梯子一般是不会失败的。

push成功的话会返回结果.png

尝试从远程dockerhub上下载我们push上去的镜像cai980273879/webapp

$ docker rmi cai980273879/webapp

先暂时删除构建好的镜像.png

$ docker images


此时本地仓库中无镜像.png

$ docker pull cai980273879/webapp


拉取我们远程push的镜像.png
$ docker images 拉取成功.png

运行docker容器

查看到f我们的flaskWeb应用监听的是5000端口.png
运行镜像.png

<h6>这里需要说明一下有两种方式选择暴露主机端口:-P和-p 分别代表这--publish-all 和 --publish</h6>

<h6>-P指的是暴露到宿主机上的随便一个端口当然也有范围,其范围是[32768,61000],可以通过cat /proc/sys/net/ipv4/ip_local_port_range 查看</h6>

运行-P并查看到暴露的端口在我们范围之内.png

链接容器

$ docker run --name source -d cai980273879/webapp
$ docker run -d --link source:webapp --name destination busybox /bin/ping webapp
$ docker inspect -f "{{ .HostConfig.Links }}" destination

链接容器.png

查看目标容器destination这个链接已经被成功建立

docker查看链接.png 调试容器被链接时内部发生了什么.png 发现webapp的容器被映射成到原容器IP地址的同时,源容器的名字也被映射到相同的IP地址.png 通过nc创建一个HTTP请求到源容器的别名webapp实现访问源容器的应用.png
上一篇 下一篇

猜你喜欢

热点阅读