一般来说,docker指令分为以下几类:
1. Docker环境信息: docker [info|version]
2. 容器生命周期: docker [create|exec|run|start|stop|restart|kill|rm|pause|unpause]
3. docker操作运维: docker [ps|inspect|top|attach|wait|export|port|rename|stat]
4. 容器rootfs命令: docker [commit|cp|diff]
5. 镜像仓库: docker [login|pull|push|search]
6. 容器资源管理: docker [volume|network]
7. 系统日志信息: docker [events|history|logs]
一. docker环境信息
1.docker info指令与docker version指令
用于检测docker是否安装,一般两者相结合使用。
二. docker运维指令
1. -- attach指令
用于连接正在运行的容器,当多个窗口同时使用该命令进入该容器时,所有的窗口都会同步显示,如果有个一窗口退出了容器,其他的窗口也会同步退出。
2.查看容器信息
docker ps
命令可以查看容器的CONTAINER ID
、NAME
、IMAGE NAME
、端口开启及绑定、容器启动后执行的COMMNAD
。最常用的功能是通过ps
来找到CONTAINER_ID,以便对特定容器进行操作。
docker ps
默认显示当前正在运行中的container docker ps -a
查看包括已经停止的所有容器 docker ps -l
显示最新启动的一个容器(包括已停止的)
3.列出镜像(docker images/ docker image ls)
4.镜像搜索(docker search)
docker search用于搜索官方或个人镜像。
5.从docker registry中下载镜像
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
6.从image启动一个容器(docker run)
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
关闭容器时顺便删除容器:
7.从image启动一个容器并执行相关命令
8.将一个容器固化为一个新的镜像
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
给这个镜像打标签:
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
9.查看镜像或容器底层信息:
docker inspect [OPTIONS] NAME|ID [NAME|ID...]
10.启动一个容器
docker start container
11.停止一个容器
docker stop container
12.删除一个容器
docker rm container
13.删除一个镜像
docker image rm imageName
14.docker exec指令:在运行的容器中执行命令
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
-d :分离模式: 在后台运行
-i :即使没有附加也保持STDIN 打开
-t :分配一个伪终端
exec命令与attach命令区别:
exec指令:是在容器中打开新的终端,并且可以启动新的进程
attach指令:直接进入容器启动命令的终端,不会启动新的进程
15.查看容器运行日志:
--details 显示更多的信息
-f, --follow 跟踪实时日志
--since string 显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
--tail string 从日志末尾显示多少行日志, 默认是all
-t, --timestamps 显示时间戳
--until string
显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)
eg:
docker logs -t -f --tail 10 busybox
16.从容器内拷贝文件到宿主机
docker cp命令:
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
