Docker最核心的组件
- image:镜像,构建容器,也可以通过Dockerfile文本描述镜像的内容。 (我们将应用程序运行所需的环境,打包为镜像文件)
- Container:容器 (你的应用程序,就跑在容器中 )
- 镜像仓库(dockerhub)(保存镜像文件,提供上传,下载镜像) 作用好比github
- Dockerfile,将你部署项目的操作,写成一个部署脚本,这就是dockerfile,且该脚本还能够构建出镜像文件
docker镜像分层:
- 分层:共享容器内的镜像是按变更分层存储的,顶层有一个合并视图,基础镜像可被共享
- 联合文件系统:一种支持修改、按层提交、目录可挂载的文件系统
- 可读写的容器层:镜像层之上创建容器可读写的容器层
Container:
容器是docker的核心概念,容器是一个或者一组应用,它的运行状态如下
- docker利用容器运行应用程序
- 容器是镜像的运行实例,可以被run、start、stop、rm
- 每个容器都是相互隔离,保证平台安全
- 容器可以看作是一个简易版Linux环境 (有root权限,进程,用户空间,网络)镜像是只读的,容器在启动的时候创建一层可写层。
Docker的生命周期:
Dockerfile主要组成部分:
基础镜像信息 FROM centos:6.8
制作镜像操作指令RUN yum insatll openssh-server -y
容器启动时执行指令 CMD["/bin/bash"]
dockerfile指令:
cmd和entrypoint区别: