1. 帮助命令
1.1 docker version
显示docker版本信息
1.2 docker info
显示docker详细信息
1.3 docker help
docker帮助
2. 镜像命令
2.1 docker images
显示本地的镜像信息
docker images -a:显示所有镜像(包含中间镜像层)
docker images -q:只显示当前镜像的IMAGE ID
docker images -qa:上面两个组合使用
docker images --digests:显示镜像摘要信息
docker images --no-trunc:显示完整的镜像信息
2.2 docker search
在docker hub上面查找镜像信息
比如:docker search tomcat
docker search -s 30 tomcat:显示star数量超过30的tomcat备选
docker search --no-trunc:显示完整镜像摘要信息
docker search --automated:只显示自动构建的镜像信息
2.3 docker pull
从Docker镜像源仓库中,向本地镜像库中拉取(下载)镜像。
docker pull tomcat:下载tomcat到docker中。
2.4 docker rmi
从本地镜像库中删除某个镜像
docker rmi hello-world:删除hello-world镜像
docker rmi -f hello-world:强制删除hello-world镜像
2.5 docker push
将镜像上传到镜像仓库。示例请见:http://www.leonwish.com/archives/270
2.6 docker commit
向本地仓库提交镜像
docker commit -m="描述信息" -a="作者信息" 容器ID 目标镜像名:[标签名]
比如:
docker commit -a="Leon" -m="firstcommit" firsttom royotech/secondtom:1.2
//royotech/secondtom:1.2 意思是 命名空间/镜像名:TAG内容
2.7 docker build
根据Dockerfile构建新的镜像,具体方法见:http://www.leonwish.com/archives/267
3. 容器命令
3.1 新建并启动容器
docker run [-OPTIONS] IMAGEID [COMMAND][ARG...]
[OPTIONS]
--name="容器新名字":为容器制定一个名称;
-d:后台运行容器,并返回容器ID,即启动守护式容器;
-i:以交互模式运行容器,通常与-t同时使用;
-t:为容器重新分配一个伪输入终端,通常与-i同时使用;
-P:随机映射端口;
-p:指定端口映射,有以下四种格式:
- ip:hostPort:containerPort
- ip::containerPort
- hostPort:containerPort
- containerPort
例如1:启动交互式容器:
docker run -it centos
例如2:启动守护式容器:
docker run -d centos
例如3:在新建容器的时候给新容器命名
docker run --name=firstdocker -it centos
例如4:后台运行tomcat容器
docker run -d -p 8888:8080 tomcat
例如5:已交互式的方式运行tomcat容器,并映射容器内的Tomcat端口8080至本机Docker的8888端口
docker run -it -p 8888:8080 tomcat
这时就可以通过Docker的IP地址:8888端口访问容器内的tomcat了。
注:关于端口映射后无法在主机访问的问题,请参考:http://www.leonwish.com/archives/265
3.2 列出当前所有正在运行的容器
dock ps [-OPTIONS]
-a:列出当前所有正在运行的容器+最近运行过的容器。
-l:显示最近创建的容器。
-n:显示最近n个创建的容器。
-q:静默模式,只显示容器编号。
--no-trunc:不截断输出。
如果运行的时候不加参数,
dock ps
则默认显示当前正在运行的容器。
3.3 退出容器
停止容器并退出:
exit
不停止容器退出:
ctrl+按P+再按Q
3.4 启动容器
docker start 容器ID或容器名
3.5 重启容器
docker restart 容器ID或容器名
3.6 停止容器
docker stop 容器ID或容器名
3.7 强制停止容器
docker kill 容器ID或容器名
3.8 删除已经停止的容器
docker rm 容器ID或容器名
或强制删除
docker rm -f 容器ID或容器名
3.9 查看容器日志
docker logs -f -t --tail 容器ID
-f:动态追加最新的日志
-t:加入时间戳
--tail:最后多少条
比如以追加和显示时间的方式、打印某容器的最后3条日志:
docker logs -f -t --tail 3 容器ID或容器名
3.10 查看容器内运行的进程
docker top 容器ID
3.11 查看容器内部的细节
docker inspect 容器ID
3.12 可以在不进入容器的情况下,在容器里执行命令并返回结果
docker exec -t 容器ID 需要执行的命令
如果需要进入容器,则可以使用以下命令:
docker exec -t 容器ID /bin/bash
3.13 进入容器,通过命令进行交互
进入容器,执行命令:
docker attach 容器ID
如果容器正在执行命令,比如tomcat,则此种方式无法进入命令行,还需要使用exec方式才能进入命令行。
3.14 从容器内复制文件到主机上
docker cp 容器ID:路径/文件 主机路径/文件