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