本文简单的介绍下关于我所知道的docke,以及docker的基本使用,安装。
Docker 包括三个基本概念
1.镜像(Image)
2.容器(Container)
3.仓库(Repository)
docker的特性:
1.文件系统隔离:每个进程容器运行在完全独立的根文件系统里。
2.资源隔离:可以使用cgroup为每个进程容器分配不同的系统资源,例如CPU和内存。
3.网络隔离:每个进程容器运行在自己的网络命名空间里,拥有自己的虚拟接口和IP地址。
4.写时复制:采用写时复制方式创建根文件系统,这让部署变得极其快捷,并且节省内存和硬盘空间。
5.日志记录:Docker将会收集和记录每个进程容器的标准流(stdout/stderr/stdin),用于实时检索或批量检索。
6.变更管理:容器文件系统的变更可以提交到新的映像中,并可重复使用以创建更多的容器。无需使用模板或手动配置。
7.交互式Shell:Docker可以分配一个虚拟终端并关联到任何容器的标准输入上,例如运行一个一次性交互shell。
docker安装与启动
yum -y install docker
PS:如果想下载最新版本的Docker,可以参考如下操作:
[root@soft Desktop]# curl -fsSL https://get.docker.com/ | sh
+ sh -c 'sleep 3; yum -y -q install docker-engine'
docker-engine-1.12.1-1.el7.centos.x86_64.rpm | 19 MB 04:11
No Presto metadata available for docker-experimental-repo
If you would like to use Docker as a non-root user, you should now consider
adding your user to the "docker" group with something like:
sudo usermod -aG docker your-user
Remember that you will have to log out and back in for this to take effect!
启动容器systemctl start docker
查看docker 详细信息
docker 的基本使用
docker search--docker镜像搜索
构建docker 镜像
docker pull nginx
查看镜像信息docker images
启动docker根据imageID,-d为在后台启动并输出容器IDdocker run -ti -d imageID
查看当前运行的容器docker ps
关于删除操作:容器的工作是建立在镜像的基础之上的,如果需要删除镜像的话,需要先删除使用该镜像的容器,然后才能删除镜像,否则删除镜像的时候,会有如下的类似的错误信息提示:Failed to remove image (e7b): Error response from daemon: conflict: unable to delete e7b2de517efa (must be forced) - image is being used by stopped container 4fbc3cd00987.可以通过docker rm删除容器,docker rmi 删除镜像。
通过docker rm $(docker ps --all -q -f status=exited)
删除暂停的docker容器
其它如:
``删除没有使用的镜像
docker rmi -f $(docker images | grep "" | awk "{print \$3}")
``
``
批量删除容器
docker ps -a | awk '{print $1}' | xargs docker rm
``
`` 批量删除镜像
docker images | awk '{print $3}' | xargs docker rmi``
持久化容器docker export <CONTAINER ID> -o /nginx.tar
对镜像打tag标签docker tag 686672a1d0cc centos:base