镜像
简单说,Docker镜像是一个不仅包含Linux内核而且又精简的Linux操作系统,docker默认的镜像下载地址为:https://hub.docker.com/explore,默认是国外的地址,下载会很慢,建议配置国内的镜像仓库:
vi /etc/docker/daemon.json
{
"registry-mirrors":["https://registry.docker-cn.com"]
}
Docker
docker hub是一个很大的镜像仓库,里面有个人制作的镜像,也有公司社区等制作的镜像
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
Docker在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极大的简化了容器的创建和维护。使得Docker技术比虚拟化技术更为轻便、快捷。
传统的虚拟机是虚拟出一套硬件后,在其上运行一个完整的操作系统,在该系统上面运行所需应用的进程,而容器内的应用进程直接运行于宿主的内核,容器没有自己的内核,而且也没有进行硬件虚拟,因此说容器比传统虚拟机更为轻便。
Docker 容器将软件以及它运行安装所需的一切文件(代码、运行时、系统工具、系统库)打包到一起,这就保证了不管是在什么样的运行环境,总是能以相同的方式运行。就好像 Java 虚拟机一样,“一次编写,到处运行”,而 Docker 是“一次构建,到处运行”,它倡导了一种“容器即服务”的概念。
镜像与容器的联系
存储驱动
docker默认的存储驱动是overlay2,overlay2存储性能是最好的,相比于aufs,devicemapper。docker的默认的存储位置是/var/lib/docker。
管理镜像常用命令
- docker image ls或者docker images
查看镜像列表 - docker history nginx
查看镜像的历史分层 - docker image inspect nginx:1.12
查看一个镜像的具体详情 - docker image rm nginx:1.12
删除nginx:1.12镜像 - docker tag nginx:1.11 nginx:v1
打标签(将1.11的tag打成v1) - docker image save nginx:1.12 > nginx1.11.tar
将nginx:1.12镜像保存,重定向到nginx1.11.tar - docker load < nginx1.11.tar
将nginx1.11.tar中保存的镜像导出
容器的管理
创建容器常用选项
通过docker container --help查看管理容器的一些命令
管理容器常用命令
- docker container run -itd --cpus 1 --name nginx04 nginx
限制nginx04 容器只能使用一个cpu - docker container run -itd --memory 512m --name nginx04 nginx
限制nginx04只能使用512m的物理内存,对应的swap区域只能使用物理内存的2倍
我们可以通过 docker container stats nginx05来查看容器的资源利用率情况: