Docker入门

KVM Xen VMware VirtualBox Docker

并不能把多个物理机虚成一个虚拟机,只能把一个物理机虚成多个虚拟机

Docker是在Linux容器(LXC)等技术上进行封装,这个技术是linux本来就有的。LXC做资源隔离的,Linux可以启动多个进程应用,互不冲突影响,就是基于LXC技术,/cgroup,

Docker虚拟化有三个概念:镜像(轻量级ISO)、容器(装好的轻量级系统)、仓库(存放镜像的地方),有公共仓库和私有仓库。去仓库下载镜像,镜像起来就是容器。

特点

·启动非常快,启动一个容器就像启动一个nginx进程

·非常轻量级虚拟化,一个机器可以部署1000个容器,虚拟机能布10个就不错了

·开源免费

windows虚拟化:esxi,裸机直接装esxi,这个就是镜像iso,相当于直接装vmware,然后通过远程连接,这个是企业级的,VMware是工作站,个人的。


阿里云也是一台高配物理机,64C,512G内存,硬盘PB级别。虚拟成60台,剩下4Clinux系统自用

买的一个阿里云基础主机,1CPU,1G内存,20G硬盘。

安装配置

sed -i '/SELINUX/s/enforcing/disabled/g' /etc/selinux/config;

wget http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm;

rpm -ivh  epel-release-6-8.noarch.rpm;

yum install  lxc  libcgroup  device-mapper-event-libs;

yum install  -y docker-io device-mapper*;

/etc/init.d/docker  start;

ps -ef |grep docker;


Docker常用命令讲解

docker  version #查看版本

docker  search centos/nginx#搜索可用docker镜像

docker  p_w_picpaths 查看当前docker所有镜像

docker  pull  centos6.8 #下载镜像,官网有很多镜像

docker export 容器ID#导出镜像


cat   centos68.tar | docker import  -  centos68_newname  #Docker导入镜像(没启动容器)

docker  run  -i(交互输入)t(打开一个连接)d(后台) centos6.8  /bin/bash  #启动容器

docker ps -a#看目前运行的镜像(-q只看镜像ID)

docker exec -it  容器名 /bin/bash进到这个容器里

docker exec  容器名 +命令 #直接在外面执行命令

docker start 容器ID #启动已退出的容器

docker stop 容器ID #关闭容器

docker rm 容器ID #删掉容器


docker容器小,不适合存数据,适合运行应用,tomcat

我们公司是4台物理机虚拟出100个docker,跑nginx,tomcat集群,数据是存在物理机


默认是NAT模式,只能用Linux宿主机登录,不能用外网登。用脚本装成桥接模式,就可以直接用secureCRT连了,方便管理。这样用脚本装虚拟机,直接连虚拟机,而不用用vmware了。

eth0里面BRIDGE="br0"   BRIDGE代表桥接网卡

br0里面TYPE="Bridge"

自动分配IP地址是基于pipework


也可以用端口映射连接docker,单机版docker,宿主机80端口转到docker80端口,一个宿主机上一整套系统,不存在端口占用


虚拟机CPU核数不能超过宿主机核心数。

脚本可以生成scv文件,用excel看


docker run -itd -v /data/:/data/ 容器名 /bin/bash #可以挂载本地目录至docker


docker mesos分布式弹性云

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章