Docker命令使用详解

其中<>括起来的参数为必选,

[]括起来为可选

docker -exec -i -t 3f407013d8c0 /bin/bash    进入容器

docker version查看docker的版本号,包括客户端、服务端、依赖的Go等

docker info查看系统(docker)层面信息,包括管理的images, containers数等

docker search <image>在docker index中搜索image

docker pull <image>从docker registry server 中下拉image

docker push <image|repository>推送一个image或repository到registry

docker push <image|repository>:TAG同上,指定tag

docker inspect <image|container>查看image或container的底层信息

docker images查看images列表(该命令不会列出所有的images)

docker images -a列出所有的images

docker ps默认显示正在运行中的container

docker ps -l显示最后一次创建的container,包括未运行的

docker ps -a显示所有的container,包括未运行的

docker logs <container>查看container的日志,也就是执行命令的一些输出

docker rm <container...>删除一个或多个container

docker rmi <image...>删除一个或多个image

docker start/stop/restart <container>开启/停止/重启container

docker start -i <container>启动一个container并进入交互模式

docker attach <container>attach一个运行中的container

docker run <image> <command>使用image创建container并执行相应命令,然 后停止

docker run -i -t <image> /bin/bash使用image创建container并进入交互模式, login shell是/bin/bash

docker run -i -t -p <host_port:contain_port>将container的端口映射到宿主机的端口

docker commit <container> [repo:tag]将一个container固化为一个新的image,后面的repo:tag可选。该命名创建一个新的image

docker build <path>寻找path路径下名为的Dockerfile的配置文件,使用此配置生成新的image

docker build -t repo[:tag]同上,可以指定repo和可选的tag

docker build - < <dockerfile>使用指定的dockerfile配置文件,docker以stdin 方式获取内容,使用此配置生成新的image

docker port <container> <container port>查看本地哪个端口映射到 container的指定端口,其实用docker ps也可以看到

1. docker version

显示 Docker 版本信息。

2. docker info

显示 Docker 系统信息,包括镜像和容器数。

3. docker search docker search [options "o">] term docker search -s  django

从 Docker Hub 中搜索符合条件的镜像。

--automated 只列出 automated build 类型的镜像;
--no-trunc 可显示完整的镜像描述;
-s 40 列出收藏数不小于40的镜像。

4. docker pull docker pull [-a "o">] [user/ "o">]name[:tag "o">] docker pull laozhu/telescope:latest

从 Docker Hub 中拉取或者更新指定镜像。

-a 拉取所有 tagged 镜像 。

5. docker login root@moon:~# docker login Username: username Password: **** Email: user@domain.com Login Succeeded

按步骤输入在 Docker Hub 注册的用户名、密码和邮箱即可完成登录。

6. docker logout

运行后从指定服务器登出,默认为官方服务器。

7. docker images docker images [options "o">] [name]

列出本地所有镜像。其中 [name] 对镜像名称进行关键词查询。

-a 列出所有镜像(含过程镜像);
-f 过滤镜像,如: -f ['dangling=true'] 只列出满足 dangling=true 条件的镜像;
--no-trunc 可显示完整的镜像ID;
-q 仅列出镜像ID。
--tree 以树状结构列出镜像的所有提交历史。

8. docker ps

列出所有运行中容器。

-a 列出所有容器(含沉睡镜像);
--before="nginx" 列出在某一容器之前创建的容器,接受容器名称和ID作为参数;
--since="nginx" 列出在某一容器之后创建的容器,接受容器名称和ID作为参数;
-f [exited=<int>] 列出满足 exited=<int> 条件的容器;
-l 仅列出最新创建的一个容器;
--no-trunc 显示完整的容器ID;
-n=4 列出最近创建的4个容器;
-q 仅列出容器ID;
-s 显示容器大小。

9. docker rmi docker rmi [options "o">] <image>  "o">[image...] docker rmi nginx:latest postgres:latest python:latest

从本地移除一个或多个指定的镜像。

-f 强行移除该镜像,即使其正被使用;
--no-prune 不移除该镜像的过程镜像,默认移除。

10. docker rm docker rm [options "o">] <container>  "o">[container...] docker rm nginx-01 nginx-02 db-01 db-02 sudo docker rm -l /webapp/redis

-f 强行移除该容器,即使其正在运行;
-l 移除容器间的网络连接,而非容器本身;
-v 移除与容器关联的空间。

11. docker history docker history  "o">[options] <image>

查看指定镜像的创建历史。

--no-trunc 显示完整的提交记录;
-q 仅列出提交记录ID。

12. docker start|stop|restart docker start|stop "p">|restart [options "o">] <container>  "o">[container...]

启动、停止和重启一个或多个指定容器。

-a 待完成
-i 启动一个容器并进入交互模式;
-t 10 停止或者重启容器的超时时间(秒),超时后系统将杀死进程。

13. docker kill docker kill  "o">[options "o">] <container>  "o">[container...]

杀死一个或多个指定容器进程。

-s "KILL" 自定义发送至容器的信号。

14. docker events docker events [options "o">] docker events --since= "s2">"20141020" docker events --until= "s2">"20120310"

从服务器拉取个人动态,可选择时间区间。

15. docker save docker save -i "debian.tar" docker save > "debian.tar"

docker save jdeathe/centos-ssh-mysql > "centos-mysql-ssh.tar"

将指定镜像保存成 tar 归档文件, docker load的逆操作。保存后再加载(saved-loaded)的镜像不会丢失提交历史和层,可以回滚。

-o "debian.tar" 指定保存的镜像归档。

16. docker load docker load [options] docker load < debian.tar docker load -i "debian.tar"

从 tar 镜像归档中载入镜像, docker save的逆操作。保存后再加载(saved-loaded)的镜像不会丢失提交历史和层,可以回滚。

-i "debian.tar" 指定载入的镜像归档。

17. docker export docker export <container> docker export nginx-01 > export.tar

将指定的容器保存成 tar 归档文件, docker import的逆操作。导出后导入(exported-imported))的容器会丢失所有的提交历史,无法回滚。

18. docker import docker import url|-  "o">[repository[:tag "o">]] cat export.tar  "p">| docker import - imported-nginx:latest docker import http://example.com/export.tar

从归档文件(支持远程文件)创建一个镜像, export的逆操作,可为导入镜像打上标签。导出后导入(exported-imported))的容器会丢失所有的提交历史,无法回滚。

19. docker top docker top <running_container>  "o">[ps options]

查看一个正在运行容器进程,支持 ps 命令参数。

20. docker inspect docker instpect nginx:latest docker inspect nginx-container

检查镜像或者容器的参数,默认返回 JSON 格式。

-f 指定返回值的模板文件。

21. docker pause

暂停某一容器的所有进程。

22. docker unpause docker unpause <container>

恢复某一容器的所有进程。

23. docker tag docker tag [options "o">] <image>[:tag "o">] [repository/ "o">][username/]name "o">[:tag]

标记本地镜像,将其归入某一仓库。

-f 覆盖已有标记。

24. docker push docker push name[:tag "o">] docker push laozhu/nginx:latest

将镜像推送至远程仓库,默认为 Docker Hub 。

25. docker logs docker logs [options "o">] <container> docker logs -f -t --tail= "s2">"10" insane_babbage

获取容器运行时的输出日志。

-f 跟踪容器日志的最近更新;
-t 显示容器日志的时间戳;
--tail="10" 仅列出最新10条容器日志。

26. docker run docker run [options "o">] <image> [ "nb">command]  "o">[arg...]

启动一个容器,在其中运行指定命令。

-a stdin 指定标准输入输出内容类型,可选 STDIN/ STDOUT / STDERR 三项;
-d 后台运行容器,并返回容器ID;
-i 以交互模式运行容器,通常与 -t 同时使用;
-t 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name="nginx-lb" 为容器指定一个名称;
--dns 8.8.8.8 指定容器使用的DNS服务器,默认和宿主一致;
--dns-search example.com 指定容器DNS搜索域名,默认和宿主一致;
-h "mars" 指定容器的hostname;
-e username="ritchie" 设置环境变量;
--env-file=[] 从指定文件读入环境变量;
--cpuset="0-2" or --cpuset="0,1,2" 绑定容器到指定CPU运行;
-c 待完成
-m 待完成
--net="bridge" 指定容器的网络连接类型,支持 bridge / host / none container:<name|id> 四种类型;
--link=[] 待完成
--expose=[] 待完成

部分转自http://www.server110.com/docker/201411/11122.html

上一篇:HBase之计数器


下一篇:使用GoldenGate进行平台迁移和数据库升级(9i->11g)步骤描述