Docker笔记--操作容器命令
Docker笔记--操作容器命令
创建容器
docker [container] create
-- 创建容器,使用docker [container] create
命令新建的容器处于停止状态,可以使用docker[container] start
命令来启动它。
启动容器
docker [container] start
--启动一个已经创建了的容器- -d后台运行
docker ps
--查看一个运行中的容器
创建并启动容器
docker [container] run
--创建并启动一个容器- -t选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上
- -i则让容器的标准输入保持打开。更多的命令选项可以通过
man docker-run
命令来查看。
可以按Ctrl+d
或输入exit
命令来退出容器
退出容器
ocker container wait CONTAINER [CONTAINER...]
--等待容器退出
查看容器输出
docker [container] logs
- -details:打印详细信息;
- -f, -follow:持续保持输出;
- -since string:输出从某个时间开始的日志;
- -tail string:输出最近的若干日志;
- -t, -timestamps:显示时间戳信息;
- -until string:输出某个时间之前的日志。
停止容器
docker [container] pause CONTAINER [CONTAINER...]
--暂停docker容器,处于paused状态的容器,可以使用docker [container] unpause CONTAINER[CONTAINER...]
命令来恢复到运行状态。docker [container] stop
--该命令会首先向容器发送SIGTERM信号,等待一段超时时间后(默认为10秒),再发送SIGKILL信号来终止容器,此时,执行docker container prune
命令,会自动清除掉所有处于停止状态的容器。docker [container] kill
--直接发送SIGKILL信号来强行终止容器docker [container] restart
--将一个运行态的容器先终止,然后再重新启动
当Docker容器中指定的应用终结时,容器也会自动终止
处于终止状态的容器,可以通过docker [container] start
命令来重新启动
进入容器
在使用-d参数时,容器启动后会进入后台,用户无法看到容器中的信息,也无法进行操作。这个时候如果需要进入容器进行操作,推荐使用官方的attach或exec命令。
-
docker [container] attach
--进入容器,注意多个窗口同时进入容器时,所有窗口会同步显示,只要有一个窗口发生了阻塞,则所有窗口都会阻塞- --detach-keys[=[]]:指定退出attach模式的快捷键序列,默认是CTRL-pCTRL-q;
- -no-stdin=true|false:是否关闭标准输入,默认是保持打开;
- --sig-proxy=true|false:是否代理收到的系统信号给应用进程,默认为true。
-
docker [container] exec
--可以在运行中的容器中直接执行命令- -d, --detach:在容器中后台执行命令;
- --detach-keys="":指定将容器切回后台的按键;
- -e, --env=[]:指定环境变量列表;
- -i, --interactive=true|false:打开标准输入接受用户输入命令,默认值为false;
- --privileged=true|false:是否给执行命令以高权限,默认值为false;
- -t, --tty=true|false:分配伪终端,默认值为false;
- -u, --user="":执行命令的用户名或ID。
通过指定-it参数来保持标准输入打开,并且分配一个伪终端。通过exec命令对容器执行操作是最为推荐的方式。
删除容器
docker [container] rm
--删除处于终止或退出状态的容器- -f, --force=false:是否强行终止并删除一个运行中的容器;
- -l, --link=false:删除容器的连接,但保留容器;
- -v, --volumes=false:删除容器挂载的数据卷。
docker rm $(docker ps -a -q)
--删除所有处于终止或退出状态的容器
导入和导出容器
-
docker [container] export
--导出一个容器,不管是运行还是终止状态,可以通过-o制定tar文件或者>重定向到tar文件 -
docker [container] import [-c|--change[=[]]] [-m [=MESSAGE]] FILE |URL| - [RESPONSITORY[:TAG]]
--导入一个tar文件,使其变为镜像- -c, --change=[]选项在导入的同时执行对容器进行修改的Dockerfile指令
查看容器
docker [container] inspect
--查看某容器的具体信息,会以json格式返回包括容器Id、创建时间、路径、状态、镜像、配置等在内的各项信息docker [container] top
--查看容器内进程,包括PID、用户、时间、命令等docker [container] stats
--显示容器CPU、内存、存储、网络等使用情况的统计信息- -a, -all:输出所有容器统计信息,默认仅在运行中;
- -format string:格式化输出信息;
- -no-stream:不持续输出,默认会自动更新持续实时结果;
- -no-trunc:不截断输出信息。
容器其他命令
docker [container] cp
--复制文件docker [container] port
--查看容器端口映射