狠狠撸

狠狠撸Share a Scribd company logo
8
Most read
10
Most read
13
Most read
Docker 技术介绍
主讲人:孔飞
日 期:
部 门:运维部
内 容
? Docker 介绍
? Docker 安装&部署
? Docker 实例项目部署
Docker介绍
? 启动速度快,容器通常在一秒内可以启动,而 VM 通常要更久
? 资源利用率高,一台普通 PC 可以跑上千个容器,你跑上千个 VM 试试
? 性能开销小, VM 通常需要额外的 CPU 和内存来完成 OS 的功能,这一部
分占据了额外的资源
VM DOCKER
Docker介绍
? 隔离应用依赖
? 创建应用镜像并进行复制
? 创建容易分发的即启即用的应用
? 允许实例简单、快速地扩展
? 测试应用并随后销毁它们
Docker介绍
? Docker两个最重要的概念是镜像和容器。除此之外,链接和数据
卷也很重要。我们先从镜像入手。
? 镜像:
? Docker的镜像类似虚拟机的快照,但更轻量,非常非常轻量。
? 创建Docker镜像有几种方式,多数是在一个现有镜像基础上创建
新镜像,因为几乎你需要的任何东西都有了公共镜像,包括所有
主流Linux发行版
? 镜像拥有唯一ID
Docker介绍
? 容器
? 你可以从镜像中创建容器,这等同于从快照中创建虚拟机,不过
更轻量。应用是由容器运行的。
Image #0
Centos 6.7 + Http app
Container #1
Centos 6.7 + Http app
Container #2
Centos 6.7 + Http app
Container #3
Centos 6.7 + Http app
Docker介绍
Image name:http:0.9
Imageid:e72ac664f4f0
Centos 6.7 + Http app
Container name:http1
container id:44a87fdaf870
Container name:http_DB
container 35005d456d268
Container name:http2
container id:9433b2b904de
Image name:mysql:9.2
Imageid:bc840bd687e3
Centos 6.7 + Mysql 5.6.12
HOST
容器与虚拟机一样,是隔离的它们也拥有一个唯一ID和唯一的名字。容器对外公开服务是必要的,因此
Docker允许公开容器的特定端口。
Docker介绍
? 数据卷
? 数据卷让你可以不受容器生命周期影响进行数据持久化。它们表现为容器内的空间,但实际保存在容
器之外,从而允许你在不影响数据的情况下销毁、重建、修改、丢弃容器。Docker允许你定义应用
部分和数据部分,并提供工具让你可以将它们分开。
? 使用Docker时必须做出的最大思维变化之一就是:容器应该是短暂和一次性的。
Image name:http:0.9
Centos 6.7 + Http app
http1
http_DB
http-dev
Image name:mysql:9.2
Centos 6.7 + Mysql 5.6.12
HOST
80
8080
443
4430
/data
/var/log
/home/www/html
/home/www/log
/httpdata
/var/log
/home/http/dbdata
/home/http-dev/log/http
/db /home/mysql/log/http
80
8000
Docker介绍
? 链接
? 链接是Docker的另一个重要部分。容器启动时,将被分配一个随机的私有IP,其它容器可以使用这
个IP地址与其进行通讯。这点非常重要,原因有二:一是它提供了容器间相互通信的渠道,二是容器
将共享一个本地网络。
Image name:http:0.9
Centos 6.7 + Http app
http1
http_DB
http-dev
Image name:mysql:9.2
Centos 6.7 + Mysql 5.6.12
HOST
Dbapp:3306
3306
80
8080
443
4430
/data
/var/log
/home/www/html
/home/www/log
/httpdata
/var/log
/home/http/dbdata
/home/http-dev/log/http
/db /home/mysql/log/http
80
8000
Docker介绍
? 缺点:
1.资源隔离方面不如虚拟机,docker是利用cgroup实现资源限制的,只能限制资源消耗的最大值,
而不能隔绝其他程序占用自己的资源。
2.安全性问题。docker目前并不能分辨具体执行指令的用户,只要一个用户拥有执行docker的权限,
那么他就可以对docker的容器进行所有操作,不管该容器是否是由该用户创建。比如A和B都拥有执
行docker的权限,由于docker的server端并不会具体判断docker cline是由哪个用户发起的,A可以
删除B创建的容器,存在一定的安全风险。
3.docker目前还在版本的快速更新中,细节功能调整比较大。一些核心模块依赖于高版本内核,存在
版本兼容问题
内 容
? Docker 介绍
? Docker 安装&部署
? Docker 实例项目部署
Docker 安装
? 升级Kernel
? cd /etc/yum.repos.d
? wget http://www.hop5.in/yum/el6/hop5.repo
? yum install kernel-ml-aufs kernel-ml-aufs-devel
? 安装Docker主程序:
? rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
? sed -i 's/^mirrorlist=https/mirrorlist=http/' /etc/yum.repos.d/epel.repo
? yum -y install docker-io
? yum –y upgrade device-mapper-libs
? 配置支持容器上网
? setenforce 0
? sed -i '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config
? sed -i 's/ net.ipv4.ip_forward = 0/ net.ipv4.ip_forward = 1/g' /etc/sysctl.conf
? sysctl –p
? /etc/init.d/docker start
? Reboot
升级kernel. CentOS 7以下都需要升级3.10
环境配置
Docker安装
Docker 部署
? 下载需要的镜像:docker pull centos:centos6
? 创建容器:docker run -i -t centos:centos6 /bin/bash
? Ctrl + d 来退出容器的命令行
Docker 部署
? 创建容器
? docker run -ti --name test -h test -p 80:80 -v /home/www/html/:/var/www/html centos:centos6 /bin/bash
? Run (运行)
? --rm (告诉Docker一旦运行的进程退出就删除容器。这在进行测试时非常有用)
? -t –i (告诉Docker分配一个伪终端并进入交互模式)
? -h test (容器的hostname)
? --name test (容器的名称)
? --cap-add=NET_ADMIN (修改网络接口数据。例:VIP)
? -p 80:80 (80 端口的映射)
? -v /vagrant/htdocs:/var/www/html (定义在宿主机文件存储位置:容器文件的存储位置)
Docker 部署
Docker ps -a (查看已创建的容器)
创建的信息
容器名称:test
主机名:test
对外映射端口:80
系统:centos:centos6
按 Ctrl + d 来退出容器的命令行
Docker 部署
Docker attach [container ID] (进入容器)
Docker exec it [container ID] bash
安装一个HTTP服务和日常linux系统中一样使用yum安装&编译安装
启动http服务
安装完成后ctrl+d退出容器
Docker 部署
? docker inspect 65d0c72cf114 (在宿主机中 查看单个容器详细信息)
Docker 部署
Docker对外映射端口就是使用Iptables进行的Nat映射
Iptables –nvL –t nat 查看映射信息
访问Web测试是否显示正常
Docker 部署
? 容器打包
Ps:由于默认的系统属于精简版只有常用的内部命令,甚至gcc 等一些常用套件都没有,所以我们需要定制一个基础版的系统
Dockerfile(属于Docker自己的脚本)
? # 选择一个已有的os镜像作为基础
? FROM centos:centos6
? # 镜像的作者
? MAINTAINER Fanbin Kong "kongxx@hotmail.com"
? # 安装openssh-server和sudo软件包,并且将sshd的UsePAM参数设置成no
? RUN yum install -y openssh-server sudo
? RUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config
? # 添加测试用户admin,密码admin,并且将此用户添加到sudoers里
? RUN useradd admin
? RUN echo "admin:admin" | chpasswd
? RUN echo "admin ALL=(ALL) ALL" >> /etc/sudoers
? # 下面这两句比较特殊,在centos6上必须要有,否则创建出来的容器sshd不能登录
? RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
? RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
? # 启动sshd服务并且暴露22端口
? RUN mkdir /var/run/sshd
? EXPOSE 22
? CMD ["/usr/sbin/sshd", "-D"]
docker build -t yongboy/java7 .
-t: 为构建的镜像制定一个标签,
便于记忆/索引等
. : 指定Dockerfile文件在当前目
录
内 容
? Docker 介绍
? Docker 安装&部署
? Docker 实例项目部署

More Related Content

What's hot (20)

PPTX
顿辞肠办别谤基础
國昭 張
?
PDF
20150604 docker 新手入門
azole Lai
?
PDF
前端工程師一定要知道的 Docker 虛擬化容器技巧
Chu-Siang Lai
?
PPTX
Docker tutorial
azole Lai
?
PDF
Deployment with Capistrano
旭 張
?
PPTX
顿辞肠办别谤实务
國昭 張
?
PPTX
《保哥線上講堂》打造一個具有 Linux 溫度的 Windows 命令提示字元工具
Will Huang
?
PPTX
顿辞肠办别谤进阶探讨
國昭 張
?
PDF
Docker Build
Miles Chou
?
PPT
深入顿辞肠办别谤的资源管理
SpeedyCloud
?
PDF
Docker home ted
Layne Peng
?
PPTX
Docker 淺入淺出
Miles Chou
?
PPTX
cec-hello-docker
Bruce Huang
?
PDF
從軟體開發角度?談 Docker 的應用
謝 宗穎
?
DOC
Centos下安装apache + subversion
Yiwei Ma
?
PPTX
Docker 101
Bryan Yang
?
PDF
認識那條鯨魚 Docker 初探
仲昀 王
?
PDF
DAE 新变化介绍
Tianwei Liu
?
PPTX
Docker open stack
Guangya Liu
?
PDF
docker intro
koji lin
?
顿辞肠办别谤基础
國昭 張
?
20150604 docker 新手入門
azole Lai
?
前端工程師一定要知道的 Docker 虛擬化容器技巧
Chu-Siang Lai
?
Docker tutorial
azole Lai
?
Deployment with Capistrano
旭 張
?
顿辞肠办别谤实务
國昭 張
?
《保哥線上講堂》打造一個具有 Linux 溫度的 Windows 命令提示字元工具
Will Huang
?
顿辞肠办别谤进阶探讨
國昭 張
?
Docker Build
Miles Chou
?
深入顿辞肠办别谤的资源管理
SpeedyCloud
?
Docker home ted
Layne Peng
?
Docker 淺入淺出
Miles Chou
?
cec-hello-docker
Bruce Huang
?
從軟體開發角度?談 Docker 的應用
謝 宗穎
?
Centos下安装apache + subversion
Yiwei Ma
?
Docker 101
Bryan Yang
?
認識那條鯨魚 Docker 初探
仲昀 王
?
DAE 新变化介绍
Tianwei Liu
?
Docker open stack
Guangya Liu
?
docker intro
koji lin
?

Viewers also liked (19)

PPT
James
didimon2310
?
PDF
Khudi na bach gharibi main naam paida kar
maqsood hasni
?
PDF
TEAM CALL 11/8
Kimberly Danger
?
PDF
Fall 2015 poison shy
Anna Marie Reams
?
PDF
Michael Warrell Resume
Michael Warrell
?
PDF
MID_MID_030515
Donald Verpoorten
?
PPTX
No Title
meducationdotnet
?
PPTX
Profesor paquini
gabnely
?
PDF
Sbay Profile (Rev)
Sbay Global Services Limited
?
PDF
Reception_View01
Neelish Budhia
?
PPT
Puhui finance company introduction.pptx
Freeman Xu
?
PDF
????? ???? ?? ??????? ??? ??? ??? ?? ???? ??????
maqsood hasni
?
PPTX
Development of Perceptions of Mental Health in Society
meducationdotnet
?
PDF
Insan
maqsood hasni
?
PDF
AutoPay - Travel Payments
Phillip Tau
?
PPT
La empresa y sus funciones
mpavonlozano
?
PPTX
Bab 2 waqaf wasal
asih yuliana
?
PPTX
Good farming practices Allah Dad Khan
Mr.Allah Dad Khan
?
PPTX
Current issue and trends in psychiatric nursing by sureshaadi 8888
Suresh Aadi Sharma
?
Khudi na bach gharibi main naam paida kar
maqsood hasni
?
TEAM CALL 11/8
Kimberly Danger
?
Fall 2015 poison shy
Anna Marie Reams
?
Michael Warrell Resume
Michael Warrell
?
MID_MID_030515
Donald Verpoorten
?
Profesor paquini
gabnely
?
Sbay Profile (Rev)
Sbay Global Services Limited
?
Reception_View01
Neelish Budhia
?
Puhui finance company introduction.pptx
Freeman Xu
?
????? ???? ?? ??????? ??? ??? ??? ?? ???? ??????
maqsood hasni
?
Development of Perceptions of Mental Health in Society
meducationdotnet
?
AutoPay - Travel Payments
Phillip Tau
?
La empresa y sus funciones
mpavonlozano
?
Bab 2 waqaf wasal
asih yuliana
?
Good farming practices Allah Dad Khan
Mr.Allah Dad Khan
?
Current issue and trends in psychiatric nursing by sureshaadi 8888
Suresh Aadi Sharma
?
Ad

Similar to 顿辞肠办别谤一期培训 (20)

PPTX
顿辞肠办别谤技术介绍
LI jeanphorn
?
PPTX
Docker 基礎介紹與實戰
Bo-Yi Wu
?
PPTX
顿辞肠办别谤介绍及应用
edwardsbean
?
PDF
Docker In-Depth
David Hsu
?
PPTX
顿辞肠办别谤基础
Perry Tsai
?
PDF
Docker 最佳实践
YuLing Liu
?
PPTX
Docker
NCUDSC
?
PDF
Hyper 基于hypervisor的docker引擎.pptx
Xu Wang
?
PDF
使用 Vagrant/Docker 打造团队跨平台开发环境
一军 谢
?
PPTX
顿辞肠办别谤+尘别蝉辞蝉安装最佳实践
3908282
?
PDF
Docker容器微服務 x WorkShop
Philip Zheng
?
PPTX
Introduction to Docker
Chris Chen
?
PDF
Docker introduce and vs kernel virtual machine
yangkun9
?
PPTX
What?s docker
Mark Yang
?
PDF
讓軟體開發與應用更自由 - 使用 Docker 技術
Yu Lung Shao
?
PPTX
公司应用架构:模块化、微服务与 Linux 容器技术
Lifan Yang
?
PDF
Weic2015 docker
Ray Lin
?
PDF
桃园市教育局顿辞肠办别谤技术入门与实作
Philip Zheng
?
PDF
OpenStack and Docke Integration V6
Guangya Liu
?
PPTX
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
ChinaNetCloud
?
顿辞肠办别谤技术介绍
LI jeanphorn
?
Docker 基礎介紹與實戰
Bo-Yi Wu
?
顿辞肠办别谤介绍及应用
edwardsbean
?
Docker In-Depth
David Hsu
?
顿辞肠办别谤基础
Perry Tsai
?
Docker 最佳实践
YuLing Liu
?
Docker
NCUDSC
?
Hyper 基于hypervisor的docker引擎.pptx
Xu Wang
?
使用 Vagrant/Docker 打造团队跨平台开发环境
一军 谢
?
顿辞肠办别谤+尘别蝉辞蝉安装最佳实践
3908282
?
Docker容器微服務 x WorkShop
Philip Zheng
?
Introduction to Docker
Chris Chen
?
Docker introduce and vs kernel virtual machine
yangkun9
?
What?s docker
Mark Yang
?
讓軟體開發與應用更自由 - 使用 Docker 技術
Yu Lung Shao
?
公司应用架构:模块化、微服务与 Linux 容器技术
Lifan Yang
?
Weic2015 docker
Ray Lin
?
桃园市教育局顿辞肠办别谤技术入门与实作
Philip Zheng
?
OpenStack and Docke Integration V6
Guangya Liu
?
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
ChinaNetCloud
?
Ad

顿辞肠办别谤一期培训