容器与镜像
进程可见、可相互通信、共享一份文件系统
高级权限的进程可能破环低权限的进程
资源抢占
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
可以将本地的镜像推送到镜像仓库中