docker run --name myNginx -v /my/service/nginx:/var/lib/nginx nginx
该命令使用一个叫“nginx”的镜像,启动一个“里面”安装了nginx的容器,容器名字叫“myNginx”。
- 这里需要说明一下的就是主程序是 Docker里面的一个重要的概念,虽然镜像里面可以安装很多的程序,但是必须有一个主程序,主程序和容器的生命周期完全一致,主程序在则容器在,主程序亡则容器亡。
- 容器是一个资源限制的框,但是这个框没有底,全靠主进程撑着,主进程挂了,衣服架子倒了,衣服也就垮了。
- 服务器上的容器是共享操作系统内核的,容器在不同机器之间的迁移不带内核,这也是很多人声称容器是轻量级的虚拟机的原因。(不像vmware里面启动了一个虚拟机,这个虚拟机光操作系统都几十个G,如果再加上安装的软件,甚至还有一些数据文件,都上百G,copy这个镜像都很大)。
- 第一,虚拟机启动的时候要先启动操作系统,容器不用启动操作系统,因为是共享内核的;第二,虚拟机启动后使用脚本安装应用,容器不用安装应用,因为已经打包在镜像里面了。