docker是一个应用容器,轻量级的虚拟化平台
不属于一个完整的虚拟机,只是具备运行一个服务最基本的东西,内部服务很少,占用硬件资源非常少
容器极其容易制作,只需要有准备好的镜像,基本就秒级别启动.
docker可以让任何程序在一个隔离的空间中运行,类似于windows上沙盒一样的东西但是比这个跟好
docker容器移植性非常好,所以可以保证一个程序在开发过程中可以完全是一模一样的环境.
命名空间(Namespaces)
Docker充分利用了一项称为namespaces的技术来提供隔离的工作空间,我们称之为container(容器)。当你运行一个容器的时候,Docker为该容器创建了一个命名空间集合。
这样提供了一个隔离层,每一个应用在它们自己的命名空间中运行而且不会访问到命名空间之外。
首先需要在linux上安装docker
一般都是docker直接yum安装,linux官方库中已经拥有了docker
yum -y install docker 安装docker
docker info 查看详细信息
docker version 查看版本信息
docker load -i docker.io/centos 这个是镜像的名字 可以导入本地镜像
docker pull 可以获取网络仓库中的镜像
docker search centos关键字centos 查找网络仓库中包含关键字的镜像
docker run -it --name 名字 镜像名字 用这个镜像开启一个新的容器名字叫什么
容器中你需要做什么都可以直接使用即可~~~安装你所需要的服务等等
docker build --no-cache -t "库名字:镜像名字" . 有个点必须写 相当于当前目录下的dockerfile文件
docker commit -m "***********" -a "***** *******ID 仓库名字:镜像名字
用-m指定行创建的镜像的提交信息。--author指定镜像作者,接着是容器ID、目标镜像仓库、镜像名。
docker run -dit -name httpd1 -p 1000:22 -p 80:80 --restart=always 跟着镜像名字
启动一个做好的httpd镜像, -P是端口绑定,-P 物理端口:容器端口,相当于访问物理机1000访问容器22!
--restart=always 相当于开机自启
在使用docker当中会有很多none镜像不好删除,这时候需要先关闭容器删除容器最后删除镜像
docker ps -a | grep "Exited" | awk ‘{print $1 }‘|xargs docker stop 先关闭容器
docker ps -a | grep "Exited" | awk ‘{print $1 }‘|xargs docker rm 删除容器
docker images|grep none|awk ‘{print $3 }‘|xargs docker rmi 删除镜像