Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架或包括系统。
以下是我的理解,发出来,供大家学习参考!
简单使用及概念的理解:
应用容器:即可以把应用环境打包的器具。
镜像:开发者的应用打的一个包。
查看当前机器上的镜像:sudo docker images
删除镜像:docker rmi
删除所有镜像:docker rmi $(docker images -q)
从docker官方库搜索镜像:docker search
下载镜像:docker pull
配置好的容器生成自已的镜像:sudo docker commit #运行后用 docker images 查看
容器(即一个应用环境):用镜像建立一个容器,就可以得到一个应用环境工作了。
创建运行一个容器并进入容器shell:sudo docker run -i -t /bin/bash
根据当前目录Dockerfile文件构建容器:docker build -t . #Dockerfile 可以理解为一个容器的配置文件。
查看容器列表及状态:sudo docker ps -a
查看容器id: docker ps -a -q
删除所有未运行的容器:docker ps -a -q | xargs docker rm
删除一个容器:sudo docker rm
删除所有容器:docker rm $(docker ps -q -a)
启动一个容器:sudo docker start
停止一个容器: sudo docker stop
关联一个容器:sudo docker attach #其实我的理解就是进入这个容器的shell ,并操作它。
进入 容器还有一个方法 docker exec -ti /bin/bash
其它功能:docker stop/start/restart/kill/rm
其它:
支持容器日志:sudo docker logs -f
复制容器内文件到宿主机:sudo docker cp :/PATH HOSTPATH
复制宿主机文件到镜像内:sudo docker insert URL PATH
持久化保存容器:sudo docker export > /home/export.tar #.tar路径是自已指定的。
导入持久化的容器:cat | sudo docker import -
#这里导入时,网上很多资料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