docker 常用命令

#查看当前可用docker
[pbmp@docker1 ~]$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
083916f7ab46 10.10.67.139:5000/prov-remote/couponpm:20161216 “/bin/bash /home/pbmp” 4 hours ago Up 4 hours couponpm

#查看当前可用docker的NAME
docker ps -a|grep -v “CONTAINER ID”|awk ‘{print $NF}’

#进入docker镜像
[pbmp@dock2-test ~]$ docker exec -ti webmerser /bin/bash
bash-4.1# pwd
/

#退出docker镜像
bash-4.1# exit
exit
[pbmp@dock2-test ~]$

#重启docker镜像
[pbmp@dock2-test ~]$ docker restart webmerser

#从镜像容器copy 文件到宿主机
docker cp webmerser:/home/pbmp/jetty-web-merser/webapps/webmerser/upload/SdShofinfo/ ./

#停止、启动、杀死一个容器
docker stop <容器名orID>
docker start <容器名orID>
docker kill <容器名orID>

#给镜像内脚本赋权chmod +x
docker exec -u pbmp ${APPNAME} chmod +x /home/pbmp/jetty-web-merser/webapps/couponPM/WEB-INF/bin/issuenoOut.sh

#附着到容器上

docker attach dockerContainerName

#创建守护式容器

docker -run –name dockerContainerName -d centos /bin/sh

#获取守护式容器的日志

docker logs dockerContainerName

#跟踪守护式容器的日志

docker logs -f dockerContainerName

#查看容器内进程

docker top dockerContainerName

#在docker容器中运行后台任务 参数中的-d为启动后台任务

docker exec -d dockerContainerName command

#在容器内运行交互式命令

docker exec -t -i dockerContainerName /bin/bash

#显示docker最后活跃的x个容器(无论容器现在是否在运行)

docker ps -n x

#深入容器,获得容器的更多信息(输出结果为JSON格式)

docker inspect dockerContainerName

#有选择地获取容器的信息(如获取容器运行状态)

docker inspect –format='{{.State.Running}}’ dockerContainerName

#有选择地获取多个容器的信息(如获取容器名称 容器运行状态)

docker inspect –format='{{.Name}}’  {{.State.Running}}’ \dockerContainerName1 /dockerContainerName2

#有选择地获取容器的信息(如获取容器IP)

docker inspect –format='{{.NetworkSettings.IPAdress}}’ \dockerContainerName

#删除容器(只能删除非运行状态的docker,想删除运行状态的docker容器的话,请先停止容器)

docker rm dockerContainerName

#删除所有容器

docker rm ‘docker ps -a -q’

#列出docker镜像

docker images

#拉取docker镜像(如centos)

docker pull centos

#查找docker hub上可以用的公共镜像(如搜索httpd)

docker search httpd