port 使用方法: docker port CONTAINER PRIVATE_PORT 使用说明: 打印出Host主机端口与容器暴露出的端口的NAT映射关系 pause / unpause 使用方法: docker pause CONTAINER 使用说明: 使用cgroup的freezer顺序暂停、恢复容器里的所有进程。详细freezer的特性,请参考官方文档。 ps 使用方法: docker ps [OPTIONS] 例子: $ docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES4c01db0b339c ubuntu:12.04 bash 17 seconds ago Up 16 seconds webappd7886598dbe2 crosbymichael/redis:latest /redis-server --dir 33 minutes ago Up 33 minutes 6379/tcp redis,webapp/db 使用说明: docker ps打印出正在运行的容器,docker ps -a打印出所有运行过的容器。 rm 使用方法: docker rm [OPTIONS] CONTAINER [CONTAINER...] 例子: $ sudo docker rm /redis/redis 使用说明: 删除指定的容器。 rmi 使用方法: docker rmi IMAGE [IMAGE...] 例子: $ sudo docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEtest1 latest fd484f19954f 23 seconds ago 7 B (virtual 4.964 MB)test latest fd484f19954f 23 seconds ago 7 B (virtual 4.964 MB)test2 latest fd484f19954f 23 seconds ago 7 B (virtual 4.964 MB)$ sudo docker rmi fd484f19954fError: Conflict, cannot delete image fd484f19954f because it is tagged in multiple repositories2013/12/11 05:47:16 Error: failed to remove one or more images$ sudo docker rmi test1Untagged: fd484f19954f4920da7ff372b5067f5b7ddb2fd3830cecd17b96ea9e286ba5b8$ sudo docker rmi test2Untagged: fd484f19954f4920da7ff372b5067f5b7ddb2fd3830cecd17b96ea9e286ba5b8$ sudo docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEtest latest fd484f19954f 23 seconds ago 7 B (virtual 4.964 MB)$ sudo docker rmi testUntagged: fd484f19954f4920da7ff372b5067f5b7ddb2fd3830cecd17b96ea9e286ba5b8Deleted: fd484f19954f4920da7ff372b5067f5b7ddb2fd3830cecd17b96ea9e286ba5b8 使用说明: 指定删除Image文件。 run 使用方法: docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 例子: $ sudo docker run --cidfile /tmp/docker_test.cid ubuntu echo "test" 使用说明: 这个命令是核心命令,可以配置的参数多达28个参数。详细的解释可以通过docker run --help列出。官方文档中提到的 Issue 2702:"lxc-start: Permission denied - failed to mount" could indicate a permissions problem with AppArmor. 在最新版本的Dcoker中已经解决。 start / stop / restart 使用方法: docker start CONTAINER [CONTAINER...] 使用说明: 这组命令可以开启(两个:start, restart),停止(一个:stop)一个容器。 tag 使用方法: docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG] 使用说明: 组合使用用户名,Image名字,标签名来组织管理Image。 top 使用方法: docker top CONTAINER [ps OPTIONS] 使用说明: 显示容器內运行的进程。 wait 使用方法: docker wait CONTAINER [CONTAINER...] 使用说明: 阻塞对指定容器的其他调用方法,直到容器停止后退出阻塞。 2.3 日志信息相关events 使用方法: docker events [OPTIONS] 使用说明: 打印容器实时的系统事件。 history 使用方法: docker history [OPTIONS] IMAGE 例子: $ docker history dockerIMAGE CREATED CREATED BY SIZE3e23a5875458790b7a806f95f7ec0d0b2a5c1659bfc899c89f939f6d5b8f7094 8 days ago /bin/sh -c #(nop) ENV LC_ALL=C.UTF-8 0 B8578938dd17054dce7993d21de79e96a037400e8d28e15e7290fea4f65128a36 8 days ago /bin/sh -c dpkg-reconfigure locales && locale-gen C.UTF-8 && /usr/sbin/update-locale LANG=C.UTF-8 1.245 MBbe51b77efb42f67a5e96437b3e102f81e0a1399038f77bf28cea0ed23a65cf60 8 days ago /bin/sh -c apt-get update && apt-get install -y git libxml2-dev python build-essential make gcc python-dev locales python-pip 338.3 MB4b137612be55ca69776c7f30c2d2dd0aa2e7d72059820abf3e25b629f887a084 6 weeks ago /bin/sh -c #(nop) ADD jessie.tar.xz in / 121 MB750d58736b4b6cc0f9a9abe8f258cef269e3e9dceced1146503522be9f985ada 6 weeks ago /bin/sh -c #(nop) MAINTAINER Tianon Gravi <admwiggin@gmail.com> - mkimage-debootstrap.sh -t jessie.tar.xz jessie http://http.debian.net/debian 0 B511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c158 9 months ago 0 B
使用说明: 打印指定Image中每一层Image命令行的历史记录。 logs 使用方法: docker logs CONTAINER 使用说明: 批量打印出容器中进程的运行日志。 2.4 Dcoker Hub服务相关login 使用方法: docker login [OPTIONS] [SERVER] 使用说明: 登录Hub服务。 pull / push 使用方法: docker push NAME[:TAG] 使用说明: 通过此命令分享Image到Hub服务或者自服务的Registry服务。 search 使用方法: docker search TERM 使用说明: 通过关键字搜索分享的Image。 3. 总结通过以上Docker命令行的详细解释,可以强化对Docker命令的全面理解。考虑到Docker命令行的发展变化非常快,读者可以参考官方的命令行解释文档更新相应的命令行解释。另外,通过以上Docker命令行的分析,可以知道Docker命令行架构设计的特点在于客户端和服务端的运行文件是同一个文件,内部实现代码应该是重用的设计。笔者希望开发者在开发类似的命令行应用时参考这样的设计,减少前后台容错的复杂度。 参考文献[1] https://docs.docker.com/reference/commandline/cli/ [2] https://en.wikipedia.org/wiki/Cross-Origin_Resource_Sharing [3] https://en.wikipedia.org/wiki/CIDR_notation#CIDR_notation |