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)
相關文章
相關標籤/搜索