阅读 67

Docker环境安装

原文链接: click.aliyun.com

本文简单的介绍下关于我所知道的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

image

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 详细信息

image

docker 的基本使用

docker search--docker镜像搜索

image

构建docker 镜像

docker pull nginx

image

查看镜像信息
docker images
image

启动docker根据imageID,-d为在后台启动并输出容器ID
docker run -ti -d imageID
image

查看当前运行的容器
docker ps
image

关于删除操作:容器的工作是建立在镜像的基础之上的,如果需要删除镜像的话,需要先删除使用该镜像的容器,然后才能删除镜像,否则删除镜像的时候,会有如下的类似的错误信息提示: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容器
image

其它如:

``删除没有使用的镜像
docker rmi -f (docker images | grep "" | awk "{print \$3}") `` ``    批量删除容器    docker ps -a | awk  '{print " role="presentation">(docker images | grep "" | awk "{print \$3}") `` `` 批量删除容器 docker ps -a | awk '{print1}' | xargs docker rm
``

`` 批量删除镜像
docker images | awk '{print $3}' | xargs docker rmi``

持久化容器
docker export <CONTAINER ID> -o /nginx.tar

image

对镜像打tag标签
docker tag 686672a1d0cc centos:base

image