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,file,etcd,consul,zookeeper.
$ 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
docker分享
By Zez Wang
docker分享
- 1,312