PS:Docker这个虚拟化容器(跟虚拟机原理有区别,可以理解成内核级虚拟化应用容器)最近比较流行,花点时间研究一下,确实是个好东西,以后可能会对云计算的PaaS层有很大改变。目前只支持Linux 3.8以上内核,安装很简单,这里不说了,纪录下常用的命令,以后再深入研究是否上生产环境。
直接输入docker –help可以查看Docker的子命令。
总结一下常用命令:
其中<>
括起来的参数为必选,[]
括起来为可选。
docker version
查看docker的版本号,包括客户端、服务端、依赖的Go等docker info
查看系统(docker)层面信息,包括管理的images, containers数等docker search <image>
在docker index中搜索imagedocker pull <image>
从docker registry server 中下拉imagedocker push <image|repository>
推送一个image或repository到registrydocker push <image|repository>:TAG
同上,指定tagdocker inspect <image|container>
查看image或container的底层信息docker images
TODO filter out the intermediate image layers (intermediate image layers 是什么)docker images -a
列出所有的imagesdocker ps
默认显示正在运行中的containerdocker ps -l
显示最后一次创建的container,包括未运行的docker ps -a
显示所有的container,包括未运行的docker logs <container>
查看container的日志,也就是执行命令的一些输出docker rm <container...>
删除一个或多个containerdocker rm `docker ps -a -q
` 删除所有的containerdocker ps -a -q | xargs docker rm
同上, 删除所有的containerdocker rmi <image...>
删除一个或多个imagedocker start/stop/restart <container>
开启/停止/重启containerdocker start -i <container>
启动一个container并进入交互模式docker attach <container>
attach一个运行中的containerdocker run <image> <command>
使用image创建container并执行相应命令,然后停止docker run -i -t <image> /bin/bash
使用image创建container并进入交互模式, login shell是/bin/bashdocker run -i -t -p <host_port:contain_port>
将container的端口映射到宿主机的端口docker commit <container> [repo:tag]
将一个container固化为一个新的image,后面的repo:tag可选docker build <path>
寻找path路径下名为的Dockerfile的配置文件,使用此配置生成新的imagedocker build -t repo[:tag]
同上,可以指定repo和可选的tagdocker build - < <dockerfile>
使用指定的dockerfile配置文件,docker以stdin方式获取内容,使用此配置生成新的imagedocker port <container> <container port>
查看本地哪个端口映射到container的指定端口,或者用docker ps
也可以看到。