容器与镜像

进程可见、可相互通信、共享一份文件系统

高级权限的进程可能破环低权限的进程

资源抢占

Linux通过 chroot 可将一个子目录变成根目录

namespace在资源视图上进行隔离

cgroup限制资源使用率

容器:

容器是一个视图隔离、资源可限制、独立文件系统的进程集合

镜像:

运行容器需要的所有文件集合

构建步骤所带来的文件系统的变化叫做changeset

镜像可进行分层复用

如何构建镜像?

编写Dockerfile

// 表示以下的步骤是基于golang构建的

FROM golang:1.12-alpine

// 类似于cd

WORKDIR /go/src/app

// 把数据拷入到容器内

COPY

//下载依赖

RUN go get -d -v ./...

//创建应用并安装

RUN go install -v ./...

//使用镜像默认程序的名字是什么

CMD ["app"]

有了这样一个Dockerfile之后就可以通过docker build构建镜像(存储到本地的)

docker registry进行镜像数据的存储和转发,通过 docker push可以将本地的镜像推送到镜像仓库中