Docker应用容器相对于 VM 有以下几个优点: 启动速度快,容器通常在一秒内可以启动,而 VM 通常要更久 资源利用率高,一台普通PC 可以跑上千个容器,你跑上千个 VM 试试 性能开销小, VM 通常需要额外的 CPU 和内存来完成 OS 的功能,这一部分占据了额外的资源 因为VM的Hypervisor需要实现对硬件的虚拟化,并且还要搭载自己的操作系统,自然在启动速度和资源利用率以及性能上有比较大的开销。 个人体会较深的两处优点:
|
Docker安装
(1)安装EPEL
(a)centos7
wget http://mirror.hust.edu.cn/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm
rpm -ivh epel-release-7-0.2.noarch.rpm
(b)centos6
wget http://mirrors.hustunique.com/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
(2)安装docker- sudo yum install docker-io
- sudo service docker start
- sudo chkconfig docker on
docker version
docker info 显示docker系统的信息
docker serach XXX 在线收索容器
docker images 列出所有本地容器
docker pull 下载容器
docker push 推送容器
docker run XXX 命令执行命令(docker run -i -t ubuntu /bin/bash 交互式进入容器中)
docker ps -l 获取最新修改的容器ID docker ps -a显示所有修改过的容器ID
docker commit id 新容器名 提交修改后的容器
docker save XXX > XXX.tar 打包容器
docker load < XXX.tar导入容器
docker run -it -v /home/dock/Downloads:/usr/Downloads XXX 把一个宿主机上的目录挂载到镜像里,通过-v参数,冒号前为宿主机目录,必须为绝对路径,冒号后为镜像内挂载的路径
docker cp 容器名:容器内文件路径 宿主机路径 复制容器内文件至宿主机
docker run -d -p 10022:10022 -p 10020:10020 centos6_download5 /etc/rc.local 开启XXX进程,注rc.local中的进程不能退出,-d命令是设置detach为true,根据官方的文档,意思是让这个命令在后台运行,但并不是一直运行, -p是端口映射 -p 宿主机端口:容器端口