文章目录
docker 是什么
Docker 是一个基于Go语言开源的应用容器引擎。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器相当于一个个彼此隔离的沙箱,开销极低。
相比于vm,docker没有操作系统(也有说法是只提供最基本的操作),容器内的应用直接在宿主机上运行。耗费的系统资源更少,启动更快。
镜像是怎么来的
docker中有两个重要的概念,镜像和容器。其中,镜像是一个封装了依赖和资源的特殊的文件系统,容器则是镜像的一个实例,是一个运行于自己的命名空间中的独立进程。数据存储在容器中,使用容器的生命周期。
镜像是可以一层一层叠加的,子镜像会继承父层镜像的配置,在此基础上添加修改形成自己的特性。
从ducker hub上拉一个
docker-hub上存在众多已经配好的镜像,使用方法类似git,docker pull 即可获取。
从Dockerfile生成
a目录在有DockerFile文件,那么在a目录下 docker build 即可获得一个根据该dockerfile生成的镜像。
以下就是一个express服务的dockerfile。
FROM node