Docker:
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口
1.基本架构
后台进程 2.REST API Server 3.CLI接口
2.底层技术:
Namespaces:隔离pid,net,ipc,mnt,uts
control groups:做资源限制
union filesystems:Comtainer和image的分层
image概述:
1.文件和meta data的集合(root filesystem)
2.分层:每一层都可以添加改变
3.删除文件,成为新的image
4.不同的image共享系统的layer
5.image本身是只读的
命令行查看image:sudo docker image ls
命令行拉去资源:sudo docker pull ..#(bitnami/wordpress)
生成image去创建容器
1.# mkdir mkdir hello-world
# cd hello-world/
# vim hello.c (随便输出hellow)
# gcc -static hello.c -o hello
# vim Dockerfile
(FROM scratch)
(ADD hello/)
(CMD "/hello")
#docker buid -t test/hello-world .
#docker run test/hello-world
两种方式生成image: 1.docker commit 2.docker build
Container
通过Image创建
在Image layer 之上建立一个container layer(可读写)
类比面对对象:类和实例
Image负责app存储和分发,Cwontainer负责app运行
查看:# docker container ls
其它相应命令: