docker 命令

一、Docker的基礎命令

[root@node02 ~]# docker volume prune -f           #刪除無主的數(shù)據(jù)卷
#在運行容器時,-v掛載目錄時沒有指定本地要掛載的目錄,而是由docker管理的,
#當容器刪除后,這些目錄并不會被刪除,此時這種目錄就是無主數(shù)據(jù)卷。
#若要在刪除容器時,同時刪除這些數(shù)據(jù)卷,可以使用以下命令(添加“-v”選項即可):
[root@node02 ~]# docker rm -f -v 8086        #其中8086為容器ID
[root@master volumes]# docker container prune -f       #清理掉所有處于終止狀態(tài)的容器。
[root@localhost ~]# docker search dhcp     #以DHCP作為關鍵字進行搜索鏡像
[root@localhost ~]# docker pull docker.io/networkboot/dhcpd           #下載查詢出來的某個鏡像
[root@localhost ~]# docker images      #查詢下載的鏡像
[root@localhost ~]# docker tag docker.io/networkboot/dhcpd dchp:dhcp    #改新名稱及標簽
[root@localhost ~]# docker rmi docker.io/networkboot/dhcpd    #刪除鏡像
[root@localhost ~]# docker save -o dhcptest dchp:dhcp      #導出為本地鏡像
[root@localhost ~]# docker load --input dhcp     #導入鏡像
#或者
[root@localhost ~]# docker load < dhcp     #導入鏡像
[root@docker ~]# docker save > dhcp busybox:latest    #導出鏡像busybox
[root@localhost ~]# docker push docker.io/ljztest/dhcp      #上傳鏡像
[root@localhost ~]# docker create -itd dchp:dhcp /bin/bash     #創(chuàng)建一個容器,并指定偽終端
#選項解釋如下:
* -i:交互式
* -t:分配一個為終端
* -d:后臺運行
[root@docker ~]# docker run -itd --name test2 --restart=always httpd    #保持容器處于開機自啟狀態(tài)
#作用是可以在執(zhí)行“systemctl restart docker”時,使容器也隨之重啟;
#若不加--restart,那么一旦執(zhí)行“systemctl restart docker”,這個容器將會停止。
[root@localhost ~]# docker ps -a                #查出容器的ID號
[root@localhost ~]# docker exec -it 2304f92a8158 /bin/bash     #進入一個容器
[root@docker ~]# docker attach test1   #也是進入一個容器
#如果是attach進入容器,使用exit退出的話這個容器也會關閉。
#使用ctrl+p  ctrl+q退出容器,并不會關閉這個容器,會保持容器的運行狀態(tài)。
[root@docker ~]# docker ps -a -q | xargs docker start    #開啟所有容器
[root@docker ~]# docker ps -a -q | xargs docker stop    #關閉所有容器
[root@docker ~]# docker logs test1  #查看容器的日志,可以在后面加“-f”選項,動態(tài)輸出
[root@docker ~]# docker ps -a -q | xargs docker rm -f      #刪除所有容器,威力不亞于rm  -rf  /*
[root@localhost ~]# docker ps -a -q | xargs docker start    #啟動所有容器
[root@localhost ~]# docker rm 2304f92a8158          #刪除容器
[root@docker ~]# docker run -it --name containerB -c 512 centos
#創(chuàng)建一個名為containerB的容器,設置其CPU的權(quán)重為512
[root@docker ~]# docker run -it --name testA --device-write-bps /dev/sda:30MB centos
#限制磁盤的每秒可以寫入的大小為30MB
#其中還可以有以下選項:
#--device-read-bps:設置讀設備的bps
#--device-write-bps:設置寫入設備的bps
#--device-read-iops:設置讀取設備的iops
#--device-write-iops:設置寫入設備的iops。
[root@docker lv]# docker history test04:latest      #如果使用Dockerfile制作鏡像,可以使用這條命令查看這個鏡像都做過什么
[root@docker ~]# docker logs web01       #查看容器的日志,可以加“-f”選項,動態(tài)刷新。
[root@docker ~]# docker commit web01 mytest:v1.0     #將容器制作為鏡像
[root@docker ~]# docker cp /a.txt web01:/usr         #將本機的文件復制到容器中
[root@docker ~]# docker cp web01:/usr/a.txt /usr    #將容器中的文件復制到本機中

二、docker網(wǎng)絡管理相關的命令:

[root@docker ~]# docker network ls      #查看docker的網(wǎng)絡
[root@docker ~]# brctl show         #專用于查看虛擬網(wǎng)絡  
[root@docker ~]# docker exec web ip a    #查看某個指定容器的網(wǎng)絡信息
[root@docker ~]# docker network create -d bridge my_net       #創(chuàng)建一個docker的網(wǎng)絡,-d:指定驅(qū)動類型
[root@docker ~]# docker network create -d bridge --subnet 172.22.0.0/24 my_net2   #創(chuàng)建網(wǎng)絡時,指定網(wǎng)段
[root@docker ~]# docker network inspect my_net2    #查看這個網(wǎng)絡的詳細信息
[root@docker ~]# docker inspect web05       #查看容器的詳細信息
[root@docker ~]# docker inspect web05       #查看容器的詳細信息
[root@docker ~]# docker run -tid --name web07 --network my_net2 --ip 172.22.0.8 busybox    #啟動容器時,一并指定IP地址。
[root@docker ~]# docker exec web03 ping 172.17.0.3     #不進入虛擬機執(zhí)行ping命令。
[root@docker ~]# iptables-save         #查看iptables規(guī)則
[root@docker ~]# docker network connect my_net web001  
#將web001連接至my_net網(wǎng)絡,執(zhí)行后web001將會多出一塊網(wǎng)卡,并具有my_net網(wǎng)絡的IP地址。


docker run 命令參數(shù)

-a stdin: 指定標準輸入輸出內(nèi)容類型,可選 STDIN/STDOUT/STDERR 三項;
-d: 后臺運行容器,并返回容器ID;
-i: 以交互模式運行容器,通常與 -t 同時使用;
-P: 隨機端口映射,容器內(nèi)部端口隨機映射到主機的高端口
-p: 指定端口映射,格式為:主機(宿主)端口:容器端口
-t: 為容器重新分配一個偽輸入終端,通常與 -i 同時使用;
--name="nginx-lb": 為容器指定一個名稱;
--dns 8.8.8.8: 指定容器使用的DNS服務器,默認和宿主一致;
--dns-search example.com: 指定容器DNS搜索域名,默認和宿主一致;
-h "mars": 指定容器的hostname;
-e username="ritchie": 設置環(huán)境變量;
--env-file=[]: 從指定文件讀入環(huán)境變量;
--cpuset="0-2" or --cpuset="0,1,2": 綁定容器到指定CPU運行;
-m :設置容器使用內(nèi)存最大值;
--net="bridge": 指定容器的網(wǎng)絡連接類型,支持 bridge/host/none/container: 四種類型;
--link=[]: 添加鏈接到另一個容器;
--expose=[]: 開放一個端口或一組端口;
--volume , -v: 綁定一個卷

三、docker Swarm群集常用命令

[root@docker01 ~]# docker node ls    #查看群集的信息(只可以在manager角色的主機上查看)
[root@docker01 ~]# docker swarm join-token worker      #如果后期需要加入worker端,可以執(zhí)行此命令查看令牌(也就是加入時需要執(zhí)行的命令)
[root@docker01 ~]# docker swarm join-token manager         #同上,若要加入manager端,則可以執(zhí)行這條命令查看令牌。
[root@docker01 ~]# docker service scale web05=6    #容器的動態(tài)擴容及縮容
[root@docker01 ~]# docker service ps web01       #查看創(chuàng)建的容器運行在哪些節(jié)點
[root@docker01 ~]# docker service ls        #查看創(chuàng)建的服務
#將docker03脫離這個群集
[root@docker03 ~]# docker swarm leave        #docker03脫離這個群集
[root@docker01 ~]# docker node rm docker03         #然后在manager角色的服務器上移除docker03
[root@docker01 ~]# docker node promote docker02    #將docker02從worker升級為manager。
#升級后docker02狀態(tài)會為Reachable
[root@docker01 ~]# docker node update --availability drain docker01
#設置主機docker01以后不運行容器,但已經(jīng)運行的容器并不會停止

docker企業(yè)級實戰(zhàn)

系統(tǒng)環(huán)境

[root@docker~]# cat /etc/redhat-release  #查看版本號
CentOS Linux release 7.1.1503 (Core)
[root@docker ~]# uname -r  #查看Linux內(nèi)核
c3.10.0-229.el7.x86_64

[root@docker ~]#yum install -y docker  #安裝docker(CentOS7系統(tǒng)CentOS-Extras庫中已帶Docker)
[root@docker ~]#systemctl start docker  #啟動docker
[root@docker ~]#systemctl enable docker  #加入開機自啟動
[root@docker ~]# docker version  #查看docker版本信息

Client:  #docker客戶端版本信息
 Version:1.8.2-el7.centos
 API version:1.20
 Package Version: docker-1.8.2-10.el7.centos.x86_64
 Go version:go1.4.2
 Git commit:a01dc02/1.8.2
 Built: OS/Arch:linux/amd64

Server:  #docker服務端版本信息
 Version:1.8.2-el7.centos
 API version:1.20
 Package Version:
 Go version:go1.4.2
 Git commit:a01dc02/1.8.2
 Built: OS/Arch:linux/amd64

docker基礎命令

查詢

[root@docker ~]# docker --help
Usage:
docker [OPTIONS] COMMAND [arg...]
       docker daemon [ --help | ... ]
       docker [ --help | -v | --version ]
A
self-sufficient runtime for containers.

 
Options:
  --config=~/.docker              Location of client config files  #客戶端配置文件的位置
  -D, --debug=false               Enable debug mode  #啟用Debug調(diào)試模式
  -H, --host=[]                   Daemon socket(s) to connect to  #守護進程的套接字(Socket)連接
  -h, --help=false                Print usage  #打印使用
  -l, --log-level=info            Set the logging level  #設置日志級別
  --tls=false                     Use TLS; implied by--tlsverify  #
  --tlscacert=~/.docker/ca.pem    Trust certs signed only by this CA  #信任證書簽名CA
  --tlscert=~/.docker/cert.pem    Path to TLS certificate file  #TLS證書文件路徑
  --tlskey=~/.docker/key.pem      Path to TLS key file  #TLS密鑰文件路徑
  --tlsverify=false               Use TLS and verify the remote  #使用TLS驗證遠程
  -v, --version=false             Print version information and quit  #打印版本信息并退出

 

Commands:
    attach    Attach to a running container  #當前shell下attach連接指定運行鏡像
    build     Build an image from a Dockerfile  #通過Dockerfile定制鏡像
    commit    Create a new image from a container's changes  #提交當前容器為新的鏡像
    cp    Copy files/folders from a container to a HOSTDIR or to STDOUT  #從容器中拷貝指定文件或者目錄到宿主機中
    create    Create a new container  #創(chuàng)建一個新的容器,同run 但不啟動容器
    diff    Inspect changes on a container's filesystem  #查看docker容器變化
    events    Get real time events from the server#從docker服務獲取容器實時事件
    exec    Run a command in a running container#在已存在的容器上運行命令
    export    Export a container's filesystem as a tar archive  #導出容器的內(nèi)容流作為一個tar歸檔文件(對應import)
    history    Show the history of an image  #展示一個鏡像形成歷史
    images    List images  #列出系統(tǒng)當前鏡像
    import    Import the contents from a tarball to create a filesystem image  #從tar包中的內(nèi)容創(chuàng)建一個新的文件系統(tǒng)映像(對應export)
    info    Display system-wide information  #顯示系統(tǒng)相關信息
    inspect    Return low-level information on a container or image  #查看容器詳細信息
    kill    Kill a running container  #kill指定docker容器
    load    Load an image from a tar archive or STDIN  #從一個tar包中加載一個鏡像(對應save)
    login    Register or log in to a Docker registry#注冊或者登陸一個docker源服務器
    logout    Log out from a Docker registry  #從當前Docker registry退出
    logs    Fetch the logs of a container  #輸出當前容器日志信息
    pause    Pause all processes within a container#暫停容器
    port    List port mappings or a specific mapping for the CONTAINER  #查看映射端口對應的容器內(nèi)部源端口
    ps    List containers  #列出容器列表
    pull    Pull an image or a repository from a registry  #從docker鏡像源服務器拉取指定鏡像或者庫鏡像
    push    Push an image or a repository to a registry  #推送指定鏡像或者庫鏡像至docker源服務器
    rename    Rename a container  #重命名容器
    restart    Restart a running container  #重啟運行的容器
    rm    Remove one or more containers  #移除一個或者多個容器
    rmi    Remove one or more images  #移除一個或多個鏡像(無容器使用該鏡像才可以刪除,否則需要刪除相關容器才可以繼續(xù)或者-f強制刪除)
    run    Run a command in a new container  #創(chuàng)建一個新的容器并運行一個命令
    save    Save an image(s) to a tar archive#保存一個鏡像為一個tar包(對應load)
    search    Search the Docker Hub for images  #在dockerhub中搜索鏡像
    start    Start one or more stopped containers#啟動容器
    stats    Display a live stream of container(s) resource usage statistics  #統(tǒng)計容器使用資源
    stop    Stop a running container  #停止容器
    tag         Tag an image into a repository  #給源中鏡像打標簽
    top       Display the running processes of a container #查看容器中運行的進程信息
    unpause    Unpause all processes within a container  #取消暫停容器
    version    Show the Docker version information#查看容器版本號
    wait         Block until a container stops, then print its exit code  #截取容器停止時的退出狀態(tài)值

Run 'docker COMMAND --help' for more information on a command.  #運行docker命令在幫助可以獲取更多信息

搜索Docker鏡像

[root@docker ~]# docker search centos  #搜索所有centos的docker鏡像
INDEX                NAME(名稱)                  DESCRIPTION(描述)                    STARS(下載次數(shù))OFFICIAL(官方)        AUTOMATED(自動化)
docker.io           docker.io/centos         The official build of CentOS.        1781               [OK]
docker.io   docker.io/jdeathe/centos-ssh     CentOS-6 6.7 x86_64 /             14                                               [OK]

獲取Docker鏡像

[root@docker ~]# docker pull centos  #獲取centos鏡像
[root@docker ~]# docker run -it centos /bin/bash  #完成后可以使用該鏡像創(chuàng)建一個容器
[root@5284d42eeb3a /]#

查看docker鏡像

鏡像的ID唯一標識了鏡像,如果ID相同,說明是同一鏡像。
TAG信息來區(qū)分不同發(fā)行版本,如果不指定具體標記,默認使用latest標記信息。
[root@docker ~]# docker images  #查看docker鏡像
REPOSITORY(來自那個倉庫)       TAG(標簽)            IMAGE ID(唯一ID)         CREATED(創(chuàng)建時間)         VIRTUAL SIZE(大小)
docker.io/centos                   latest              60e65a8e4030           5
days ago              196.6 MB
docker.io/nginx             latest              813e3731b203             13
days ago             133.8 MB

刪除Docker鏡像

如果要移除本地的鏡像,可以使用docker rmi命令(在刪除鏡像之前先用docker rm刪除依賴于這個鏡像的所有容器)。注意docker rm 命令是移除容器。

[root@docker ~]# docker rmi imageID  #刪除docker鏡像

導出Docker鏡像

如果要導出鏡像到本地文件,可以使用docker save命令。

root@docker ~]# docker save centos > /opt/centos.tar.gz  #導出docker鏡像至本地
[root@docker ~]# ll /opt/
-rw-r--r--.1 root root 204205056 12月 30 09:53 centos.tar.gz

導入Docker鏡像

可以使用docker load從本地文件中導入到本地docker鏡像庫

[root@docker ~]# docker load < /opt/centos.tar.gz   #導入本地鏡像到docker鏡像庫
[root@docker~]# docker images  #查看鏡像導入情況
REPOSITORY           TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
docker.io/centos     latest              60e65a8e4030        5 days ago          196.6 MB

啟動Docker容器

啟動容器有兩種方式,一種是基于鏡像新建一個容器并啟動,另外一個是將在終止狀態(tài)(stopped)的容器重新啟動。
因為Docker的容器實在太輕量級了,很多時候用戶都是隨時刪除和新創(chuàng)建容器。

[root@docker ~]# docker run centos /bin/echo "hehe"  #這跟在本地直接執(zhí)行 /bin/echo'hehe' 
hehe

[root@docker ~]# docker run --name mydocker -it centos /bin/bash#啟動一個bash終端,允許用戶進行交互。
[root@1c6c3f38ea07 /]# pwd
/
[root@1c6c3f38ea07 /]# ls
anaconda-post.log  bindev  etc  homelib  lib64  lost+foundmedia  mnt  optproc  root  runsbin  srv  systmp  usr  var

--name:給容器定義一個名稱
-i:則讓容器的標準輸入保持打開。
-t:讓Docker分配一個偽終端,并綁定到容器的標準輸入上
/bin/bash:執(zhí)行一個命令

啟動已終止容器

可以利用docker start命令,直接將一個已經(jīng)終止的容器啟動運行。
容器的核心為所執(zhí)行的應用程序,所需要的資源都是應用程序運行所必需的。除此之外,并沒有其他的資源。可以在偽終端中利用ps和top來查看進程信息。

[root@docker ~]# docker start 1c6c3f38ea07  #啟動一個終止的容器
1c6c3f38ea07
[root@docker ~]# docker ps -a  #查看是否啟動
CONTAINER
ID        IMAGE               COMMAND             CREATED             STATUS              PORTS       NAMES       
1c6c3f38ea07        centos              "/bin/bash"         8 minutes ago       Up 1 seconds                  mycentos    

守護進程運行

更多的時候,需要讓Docker容器在后臺以守護形式運行。此時可以通過添加-d參數(shù)來實現(xiàn)。
例如下面的命令會在后臺運行容器。

[root@docker ~]# docker run -d centos /bin/bash -c "while true; do echo hehe; sleep 1;done"
961fd1162c2f6a8d04e4d8ab6ccacf4cb01a90af8ab553d5e2c5063ac483ffd8


[root@docker ~]# docker ps  #查看正在運行的docker容器
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
961fd1162c2f        centos              "/bin/bash -c 'while
"   18 minutes ago      Up 18 minutes                           agitated_raman


[root@docker ~]# docker logs 961fd1162c2f  #獲取容器輸出信息,通過dockerlogs命令
hehe
hehe

停止容器

可以使用docker stop來終止一個運行中的容器。
此外,當Docker容器中指定的應用終結(jié)時,容器也自動終止。例如啟動一個終端的容器,用戶通過exit命令或者ctrl+d來退出終端時,所創(chuàng)建的容器立刻終止。
終止狀態(tài)的容器可以用docker ps -a命令看到,也可以通過docker start ID 命令來啟動容器。

[root@docker ~]# docker ps -a #查看所有容器的情況
CONTAINER
ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS         NAMES
961fd1162c2f        centos              "/bin/bash -c 'while
"   30 minutes ago      Up 30 minutes                           agitated_raman
[root@docker ~]# docker stop 961fd1162c2f  #停止容器
961fd1162c2f
[root@docker ~]# docker ps -a
CONTAINER
ID        IMAGE               COMMAND                  CREATED             STATUS                        PORTS               NAMES
961fd1162c2f        centos              "/bin/bash -c 'while"   31 minutes ago      Exited (137) 27 seconds ago                agitated_raman
極端方式停止容器(不推薦)
[root@867e6627a194 ~]# docker ps -a -q   #列出所有啟動容器的ID
867e6627a194
[rot@867e6627a194 ~]# docker kill $(docker ps -a -q)  #批量殺掉啟動的容器
./in.sh: 行 4: 20078 已殺死               nsenter -t $PID -u -i -n -p

刪除容器

[root@867e6627a194 ~]# docker ps -a  #查看所有容器當前狀態(tài)
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
867e6627a194        centos              "/bin/bash"         16 minutes ago      Up 5 minutes                                    mydocker
c599b569f387        centos              "/bin/echo hehe"   19 minutes ago      Exited (0) 19 minutes ago                     fervent_torvalds
302f39c202c9        nginx               "/bin/bash"         2 hours ago          Up 2 hours               80/tcp, 443/tcp      mynginx
[root@867e6627a194 ~]#
[root@867e6627a194 ~]# docker rm c599b569f387  #刪除已經(jīng)停止的容器
c599b569f387
[root@867e6627a194 ~]# docker rm -f 302f39c202c9   #刪除正在運行的容器
302f39c202c9

進入容器

使用-d參數(shù)時,容器啟動后會進入后臺。某些時候需要進入容器進行操作,有很多種方法,包括使用docker attach命令或nsenter工具等。

1attach命令
docker attach是Docker自帶的命令。下面示例如何使用該命令。
[root@docker ~]# docker ps -a
CONTAINER
ID        IMAGE               COMMAND             CREATED             STATUS                        PORTS               NAMES
867e6627a194        centos              "/bin/bash"         10 minutes ago      Exited (127) 47 seconds ago                       mydocker
[root@docker ~]# docker start 867e6627a194  #啟動已經(jīng)停止的容器
867e6627a194
[root@docker ~]# docker attach 867e6627a194  #通過docker attach進入
[root@867e6627a194 /]#
但是使用attach命令有時候并不方便。當多個窗口同時attach到同一個容器的時候,所有的窗口都會同步顯示,當某個窗口因命令阻塞時,其他窗口也無法執(zhí)行操作了。
nsenter命令
nsenter可以訪問另一個進程的名字空間。nsenter需要有root權(quán)限。
[root@docker ~]# yum install -y util-linux   #安裝包中有需要用到的nsenter
[root@docker ~]# docker ps -a
CONTAINER
ID        IMAGE               COMMAND             CREATED             STATUS                        PORTS               NAMES

867e6627a194        centos              "/bin/bash"         10 minutes ago      Exited (127) 47 seconds ago                       mydocker
[root@docker ~]# docker start 867e6627a194  #啟動已經(jīng)關閉的容器
867e6627a194
[root@docker ~]# docker inspect --format "{{.State.Pid}}" 867e6627a194  #找到容器的第一個進程PID
20012
[root@docker ~]# nsenter -t 20012 -u -i -n -p  #通過這個PID連接到容器
[root@867e6627a194 ~]# exit
[root@docker ~]# docker ps
CONTAINER
ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

867e6627a194        centos              "/bin/bash"         13 minutes ago      Up 2 minutes                            mydocker

[root@docker ~]# cat in.sh   #編寫成腳本快速進入容器空間
#!/bin/sh
PID=$(docker inspect --format "{{.State.Pid}}" $1)
nsenter -t $PID -u -i -n -p

[root@docker ~]# docker ps
CONTAINER
ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
867e6627a194        centos              "/bin/bash"         15 minutes ago      Up 4 minutes                            mydocker
[root@docker ~]# ./in.sh 867e6627a194  #執(zhí)行腳本跟上容器ID快速進入
[root@867e6627a194 ~]
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者。

相關閱讀更多精彩內(nèi)容

  • 1. 從倉庫中查找鏡像 一般通過docker search命令來查找官方倉庫中的鏡像,并利用docker pull...
    AI秘籍閱讀 776評論 0 1
  • 因新工作需要,整理一波docker命令!??! 總的來說分為以下幾種: 容器生命周期管理 — docker [run...
    王小帥_94閱讀 288評論 1 0
  • 列出docker鏡像 docker image ls docker images docker image ls ...
    daqiaowijiu閱讀 1,111評論 0 7
  • 如果運行的服務在docker中運行,想要訪問的話要進入容器中,然后才能訪問 容器相當于是鏡像實例化出來的對象【相互...
    鬼鸮閱讀 273評論 0 0
  • 額外補充 查看容器運行狀態(tài) 進入容器內(nèi)進行命令行操作 在容器mynginx中開啟一個交互模式的終端 容器生命周期管...
    tianmac閱讀 4,653評論 1 2

友情鏈接更多精彩內(nèi)容