docker容器 - 进入容器、删除容器

实验环境

CentOS 7.5docker

容器

容器是镜像的运行实例。不一样的是,镜像是静态的只读文件,而容器带有运行时须要的可写文件层;同时,容器中的应用进程处于运行状态。代理

进入容器

可以使用如下命令进入容器:code

attach命令

docker container attach [OPTIONS] CONTAINERblog

[root@kvm ~]# docker container attach --help
Usage:  docker container attach [OPTIONS] CONTAINER
Attach to a running container
Options:
      --detach-keys string   指定退出attach模式的快捷键
      --help                 帮助信息
      --no-stdin             是否关闭标准输入,默认是保持打开;--no-stdin=true|false
      --sig-proxy            是否代理收到的系统信号给应用进程,默认为true;--sig-proxy=true|false

注意:进程

  • attach命令只能进入处于运行状态的容器中;
  • attach命令直接进入容器并启动命令的终端,不会启动新的进程;
  • attach命令进入容器后,若是直接从这个stdin中exit(ctrl+d),会致使容器的中止;不建议使用此命令操做容器。

exec命令

docker container exec [OPTIONS] CONTAINER COMMAND [ARG...]string

[root@kvm ~]# docker container exec --help
Usage:  docker container exec [OPTIONS] CONTAINER COMMAND [ARG...]
Run a command in a running container
Options:
  -d, --detach               在容器中后台执行命令;
      --detach-keys string   指定将容器切回后台的按键;
  -e, --env list             指定环境变量列表;
      --help                 帮助信息
  -i, --interactive          打开标准输入接受用户输入命令,默认值为false;--interactive=true|false;
      --privileged           是否给执行命令以高权限,默认值为false;--privileged=true|false;
  -t, --tty                  分配伪终端,默认值为false;--tty=true|false;
  -u, --user string          执行命令的用户名或ID;--user=""。

注意:it

  • 同attach命令,exec命令也只能进入处于运行状态的容器中;
  • 不一样attach命令,exec命令是在容器中打开新的终端,而且能够启动新的进程;
  • exec命令进入容器后,若是直接从这个stdin中exit(ctrl+d),不会致使容器的中止;
  • 使用exec命令的同时使用 -it 选项时,会打开一个跟咱们平时使用的TTY同样的终端。

删除容器

docker [container] rm [OPTIONS] CONTAINER [CONTAINER...]io

[root@kvm ~]# docker container rm --help
Usage:  docker container rm [OPTIONS] CONTAINER [CONTAINER...]
Remove one or more containers
Options:
  -f, --force     是够强制终止并删除一个运行中的容器;
      --help      帮助信息;
  -l, --link      删除容器的连接,可是保留容器;
  -v, --volumes   删除容器挂载的数据卷。

默认状况下,docker rm命令只能删除已经处于中止或退出状态的容器,并不能删除还处于运行状态的容器,除非使用-f参数强制删除。容器

删除全部处于同一状态的容器

可使用docker ps -a状态定位容器并对其进行过滤:建立,从新启动,运行,暂停或退出。要查看已退出容器的列表,可以使用-f参数根据状态进行过滤。当确认要删除这些容器时,使用-q参数将容器ID传递给docker rm命令;eg:后台

  • 列出全部处于中止状态的容器列表
    docker ps -a -f status=exited
  • 删除全部处于中止状态的容器
    docker rm $(docker ps -a -f status=exited -q)
    批量删除其余状态的容器方法同理。

删除全部容器

  • 删除全部容器首先须要中止全部容器
    docker stop $(docker ps -a -q)
  • 删除全部容器
    docker rm $(docker ps -a -q)
相关文章
相关标签/搜索