Docker分享

  什么是Docker?

  • Docker是一个开源平台,包含容器引擎和Docker Hub  
  • Docker可以将应用打包成一个轻量的,易移植的容器
  • Docker Hub 可以存储、管理和分享镜像
  • Build, Ship and Run Any App, Anywhere 

  Docker的优势

  •   解决开发、测试、运维环境不一致问题
  •   快速部署服务,业务迁移扩容
  •   推进标准化,应用container化
  •   更高效的资源利用,统一的进行资源调度
  •   可移植性,跨平台,跨操作系统

  Docker的应用场景

  • 开发环境,运行环境的快速部署

  • 适合无状态的应用,如爬虫,api, web

  • 不推荐用作数据存储类应用,如MySQL, Redis
  • Docker 严重依赖系统,如 iptables

        KVM  

  虚拟机基于Hypervisor技术

  Docker

  Docker基于容器技术

 

Hypervisor要比Container更底层,不是同一层面的竞争关系

 

真实的场景多是先Hypervisor再Container,在VM里跑Container。 

  Docker Registry

  •   不使用 latest
  •   使用 namespace

PUT /v1/repositories/(namespace)/(repo_name)/

Parameters:

          - namespace – the namespace for the repo

- repo_name – the name for the repo

# docker tag 88f9454e60dd wx.docker.admaster.co:50000/admaster/centos:7
# docker push  wx.docker.admaster.co:50000/admaster/centos:7

  Docker 注意

  •   restart=always
  •   docker user
  •   不同系统版本 yum 包名字不同
  •   系统内核版本
  •   docker rm -v

swarm初探

Discovery backends

DockerHub,fileetcdconsulzookeeper.

 

$ cat /opt/cluster

10.10.30.126:2375  
10.10.30.127:2375  
10.10.30.128:2375  


$ docker run -d  --net host -v /opt/cluster:/tmp/cluster swarm manage file:///tmp/cluster  


$ docker -H 127.0.0.1:2375 ps

$ docker -H 127.0.0.1:2375 info

Q&A

Made with Slides.com