docker 常用命令

查看容器启动情况

$ docker ps -a

-a :显示所有的容器,包括未运行的。

-f :根据条件过滤显示的内容。

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

-l :显示最近创建的容器。

-n :列出最近创建的n个容器。

--no-trunc :不截断输出。

-q :静默模式,只显示容器编号。

-s :显示总的文件大小。

启动/停止容器

$ docker start/restart/stop xxx

删除一个或多少容器

$ docker rm xxx

-f :通过SIGKILL信号强制删除一个运行中的容器

-l :移除容器间的网络连接,而非容器本身

-v :-v 删除与容器关联的卷

删除本地一个或多少镜像

$ docker rmi xxx

-f :强制删除;

--no-prune :不移除该镜像的过程镜像,默认移除;

进入已启动容器

$ docker exec -it xxx /bin/bash

-i :即使没有附加也保持STDIN 打开

-t :分配一个伪终端

查看容器的输出信息

$ docker logs a970b4b0020a

查看宿主机的挂载目录

$ docker inspect xxx

创建一个新的容器但不启动它

例:使用docker镜像nginx:latest创建一个容器,并将容器命名为docker-nginx

$ docker create --name docker-nginx nginx:latest

获取容器的日志

$ docker logs -f docker-nginx

-f : 跟踪日志输出

--since :显示某个开始时间的所有日志

-t : 显示时间戳

--tail :仅列出最新N条容器日志

将文件系统作为一个tar归档文件导出到STDOUT

例:将id为a404c6c174a2的容器按日期保存为tar文件

$ docker export -o docker-nginx-`date +%Y%m%d`.tar a404c6c174a2

-o :将输入内容写到文件。

列出指定的容器的端口映射

$ docker port docker-mysql

容器与主机之间的数据拷贝

例:将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下

$ docker cp /www/runoob 96f7f14e99ab:/www/

列出本地镜像

$ docker images

-a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);

--digests :显示镜像的摘要信息;

-f :显示满足条件的镜像;

--format :指定返回值的模板文件;

--no-trunc :显示完整的镜像信息;

-q :只显示镜像ID。

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

例:将镜像ubuntu:15.10标记为 tzhennan/ubuntu:v3 镜像

$ docker tag ubuntu:15.10 tzhennan/ubuntu:v3

查看指定镜像的创建历史

$ docker history tzhennan/ubuntu:v3

将指定镜像保存成 tar 归档文件

$ docker save -o tzhennan_ubuntu_v3.tar tzhennan/ubuntu:v3

-o :输出到的文件。

从归档文件中创建镜像

$ docker import  tzhennan_ubuntu_v3.tar tzhennan/ubuntu:v4 

重命名容器

$ docker rename 原容器 重命名后容器

从容器创建一个新的镜像

例:将容器a404c6c174a2 保存为新的镜像,并添加提交人信息和说明信息

$ docker commit -a "tzhennan" -m "mysql v1" a404c6c174a2  mysql:v1 

-a :提交的镜像作者;

-c :使用Dockerfile指令来创建镜像;

-m :提交时的说明文字;

-p :在commit时,将容器暂停。

docker给运行中的容器添加端口映射

#先停止容器

$ docker stop containerA

#将容器commit成为一个新镜像

$ docker commit containerA newImageB

#运行容器

$ docker run -itd -p 8080:8080 -p 8081:8081 newImageB

相关推荐