安装略过:网上很多 可以参考 http://www.widuu.com/docker/
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架或包括系统。
上面是百度百科的原文,请注意红色的文字,我的理解是:
应用容器:即可以把应用环境打包的器具。
开发者: docker的初衷,是给开发者用的。而不是运维人员
也可以实现虚拟化: 即,勉强可以干,但不专业。
以下是我的理解,发出来,供大家学习参考!
简单使用及概念的理解:
镜像:
开发者的应用打的一个包。
查看当前机器上的镜像:sudo docker images
删除镜像:docker rmi <image>
删除所有镜像:docker rmi $(docker images -q)
从docker官方库搜索镜像:docker search <image> #挑选有 TRUSTED 标示的,相对好一些
下载镜像:docker pull <image>
配置好的容器生成自已的镜像:sudo docker commit <container id> <image name> #运行后 用 docker images 查看
-------------------------------------------------------------------------------------------------
容器(即一个应用环境):
用镜像建立一个容器,就可以得到一个应用环境工作了。
创建运行一个容器并进入容器shell:sudo docker run -i -t <image name> /bin/bash
根据当前目录Dockerfile文件构建容器:docker build -t <image name> . #Dockerfile 可以理解为一个容器的配置文件。
查看容器列表及状态:sudo docker ps -a
查看容器id: docker ps -a -q
删除所有未运行的容器:docker ps -a -q | xargs docker rm
删除一个容器:sudo docker rm <container id>
删除所有容器:docker rm $(docker ps -q -a)
启动一个容器:sudo docker start <container id>
停止一个容器: sudo docker stop <container id>
关联一个容器:sudo docker attach <container id> #其实我的理解就是进入这个容器的shell ,并操作它。
进入 容器还有一个方法 docker exec -ti <container id> /bin/bash
其它功能:docker stop/start/restart/kill/rm <container id>
-------------------------------------------------------------------------------------------------
其它:
查持容器日志:sudo docker logs -f <container id>
复制容器内文件到宿主机:sudo docker cp <container id>:/PATH HOSTPATH
复制宿主机文件到镜像内:sudo docker insert <image name> URL PATH
持久化保存容器:sudo docker export <CONTAINER ID> > /home/export.tar #.tar路径是自已指定的。
导入持久化的容器:cat <tar包路径> | sudo docker import - <image name> <tag>
#这里导入时,网上很多资料tag前面是冒号,我怎么试都不行,换成空格就可以了,这个导入会自动产生一个镜像。
示例:cat /home/export.tar | sudo docker import - busybox-1-export latest
持久化保存镜像:sudo docker save busybox-1 > /home/save.tar #.tar路径是自已指定的。
导入持久化的镜像:sudo docker load < /home/save.tar
显示镜像结构树:sudo docker images --tree