书中章节:
第1章 准备Docker 宿主机
第2章 优化Docker 镜像
第3章 用Chef 自动化部署Docker
第4章 监控Docker 宿主机和容器
第5章 性能基准测试
第6章 负载均衡
第7章 容器的故障检测和排除
第8章 应用到生产环境
第一章的内容在这里就一次性带过了,不熟悉搭建的读者可以参考我的文章.
书中第一章采用的是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
登录dockerhub
没有注册的可以访问:https://hub.docker.com/进行注册,尽量用永久邮箱,因为一次性邮箱可能会被墙,请自行梯子
$ docker login
Username: cai980273879
Password: ***************
Login Succeeded
然后在dockerhub上面创建镜像仓库
dockerPush到dockerHub的个人镜像仓库
$ docker push cai980273879/webapp
如果docker push失败就多push几次(墙太厚>-<),如果有梯子一般是不会失败的。
尝试从远程dockerhub上下载我们push上去的镜像cai980273879/webapp
$ docker rmi cai980273879/webapp
$ docker images
$ docker pull cai980273879/webapp
$ docker images
运行docker容器
<h6>这里需要说明一下有两种方式选择暴露主机端口:-P和-p 分别代表这--publish-all 和 --publish</h6>
<h6>-P指的是暴露到宿主机上的随便一个端口当然也有范围,其范围是[32768,61000],可以通过cat /proc/sys/net/ipv4/ip_local_port_range 查看</h6>
链接容器
$ 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
查看目标容器destination这个链接已经被成功建立