1、新建的容器是不是一个完整的linux系统,使用docker exec进入后,感觉很多命令都没有(如top等),VIM编辑一个文件,还要去下了安装才有。
2、假如我现在需要使用一个LNMP,昨天刚学docker就跑了三个容器(PHP,NIGNX,MYSQL)。能否把这三个玩意整合成一个镜像,直接创建一个容器就能跑LNMP?
3、能否把docker容器做成一个私有服务器,把本地的项目代码放进去。随时编辑修改,并把做好的功能提交到镜像中。然后回家,再pull这个镜像然后在家里电脑上接着创建新容器,搞完后接着提交到镜像中第2天回公司接着更新公司电脑上容器内容(好像有点类似GIT);不知道我这样使用对不对?
Q:新建的容器是不是一个完整的linux系统,使用docker exec进入后,感觉很多命令都没有(如top等),VIM编辑一个文件,还要去下了安装才有。
A:docker 不是虚拟机,docker 就和安卓手机『手机分身』一样,只有一个系统,只是看起来像两个,仅此而已。
为什么很多命令没有,因为一个命令占用几十MB,自带一堆命令,image 就太大了,毫无意义,要什么就自己安装什么就好了
Q:假如我现在需要使用一个LNMP,昨天刚学docker就跑了三个容器(PHP,NIGNX,MYSQL)。能否把这三个玩意整合成一个镜像,直接创建一个容器就能跑LNMP?
A:一个进程一个 container,一个 container 多跑个进程的想法是彻底错误的
Q:能否把docker容器做成一个私有服务器,把本地的项目代码放进去。随时编辑修改,并把做好的功能提交到镜像中。然后回家,再pull这个镜像然后在家里电脑上接着创建新容器,搞完后接着提交到镜像中第2天回公司接着更新公司电脑上容器内容(好像有点类似GIT);不知道我这样使用对不对?
A:container 是不可变的,不要想着修改容器。如何修改容器:删除原来的容器,重新 build,重新 run