docker的特性:
1.文件系统隔离:每个进程容器运行在完全独立的根文件系统里。
2.资源隔离:可以使用cgroup为每个进程容器分配不同的系统资源,例如CPU和内存。
3.网络隔离:每个进程容器运行在自己的网络命名空间里,拥有自己的虚拟接口和IP地址。
4.写时复制:采用写时复制方式创建根文件系统,这让部署变得极其快捷,并且节省内存和硬盘空间。
5.日志记录:Docker将会收集和记录每个进程容器的标准流(stdout/stderr/stdin),用于实时检索或批量检索。
6.变更管理:容器文件系统的变更可以提交到新的映像中,并可重复使用以创建更多的容器。无需使用模板或手动配置。
7.交互式Shell:Docker可以分配一个虚拟终端并关联到任何容器的标准输入上,例如运行一个一次性交互shell。
docker安装与启动
这个时候就可以到终端里面输入docker命令
$ docker --version
Docker version 1.13.0-rc3, build 4d92237
$ docker-compose --version
docker-compose version 1.9.0, build 2585387
$ docker-machine --version
docker-machine version 0.9.0-rc2, build 7b19591
如果在终端里面输入docker提示的是command not found请将docker加入到环境变量
vim /etc/profile
最后插入 export PATH=${PATH}:/usr/local/bin ## docker命令安装到了这个目录
hello world
docker run hello-world
主要用来测试docker是否安装好,能否正常使用
docker images 查看已经下载的镜像
docker ps 查看在运行的容器
docker ps -a 查看全部运行的容器
删除镜像和容器(为了好理解什么是镜像什么是容器,我是这么想的,镜像就是一个什么都没有装关闭着的电脑,容器就是安装了需要的软件运行中的电脑)
docker rm 删除容器
docker rmi 删除镜像
docker rmi c54a2cc56cbb 就会删除hello-world镜像
docker rmi c5 也会删除hello-world镜像 因为c5能在你的镜像列表里面代表唯一的镜像,docker会帮你自动补全
LAMP
查找hub.docker.com里面的Ubuntu版本
docker search ubuntu
安装Ubuntu
docker pull ubuntu # 这样安装的Ubuntu版本是16.04的
docker pull ubuntu:14.04 # ubuntu 14.04 版本
进入Ubuntu容器,安装软件
使用docker exec 可以进入到已经启动的容器中,低版本的docker可能不行。
[root@localhost /]# docker run -ti -d 686672a1d0cc
//-d为后台启动
通