1. 程式人生 > 其它 >docker的基本命令(映象,容器)

docker的基本命令(映象,容器)

 

幫助命令:

 

docker version:檢視docker的版本

docker info:檢視docker的系統資訊,包括映象個容器數量

docker 命令 --help:萬能命令

 

官網幫助文件的地址:https://docs.docker.com/reference/

 

映象命令:

 

1,docker images:檢視本機上所有的映象

 

[root@CentOs ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
hello-world          latest    feb5d9fea6a5   5 months ago   13.3kB

解釋:

REPOSITORY:映象的倉庫源

TAG :映象的標籤

IMAGE ID :映象的id

CREATED  :映象的建立時間

SIZE:映象的大小

 

可選項:

Options:

    -a, --all             Show all images (列出所有的映象)
    -q, --quiet           Only show image IDs(只顯示映象的id)

 

2,docker search 搜尋映象

[root@CentOs ~]# docker search mysql
NAME                             DESCRIPTION                                                       STARS     OFFICIAL   AUTOMATED
mysql                              MySQL is a widely used, open-source relation…   12268        [OK]       
mariadb                          MariaDB Server is a high performing open sou…   4718          [OK]       

可選項:

Options:
      --filter filter   Filter output based on conditions provided

  如:--filter=STARS=3000:搜尋出現的映象就是STARS大於3000的

  例如:

  [root@CentOs ~]# docker search mysql --filter=STARS=3000
         NAME      DESCRIPTION                                                      STARS     OFFICIAL   AUTOMATED
         mysql     MySQL is a widely used, open-source relation…   12268     [OK]       
        mariadb   MariaDB Server is a high performing open sou…   4718      [OK]  

 

 

3,docker pull :下載映象

  [root@CentOs ~]# docker pull mysql

 

 

 

 

 

  指定版本下載:

  [root@CentOs ~]# docker pull mysql:5.7
  5.7: Pulling from library/mysql

 

 

 

 

 

 

 

刪除映象:

docker rmi -f 映象id :                        刪除指定的映象

 

docker rmi -f 映象id  映象id 映象id:  刪除多個映象

docker rmi -f $(docker images -a) :遞迴刪除全部的映象

 

 

 

容器命令

說明:我們有了映象才可以建立容器,下載一個CentOS映象倆測試學習

docker pull centos

 

1,新建容器並啟動:

docker run [可選引數] image

引數說明:

--name="Name"    容器埠  如:tomcat01 tomcat02,用來區分容器

-d           後臺方式執行

-it           使用互動方式執行,進入容器檢視內容

-p(小寫)       指定容器埠

      -p ip:主機埠:容器埠

   -p 主機埠:容器埠(常用)

      -p 容器埠

   容器埠

-P(大寫)        隨機指定埠

 

 

測試:

(1)啟動並進入容器:

  [root@CentOs ~]# docker run -it centos /bin/bash
  [root@77f36d0b8111 /]#

(2)檢視容器內的centos,這個基礎版本,很多命令都是不完善的

  [root@77f36d0b8111 /]# ls
  bin  etc   lib      lost+found  mnt  proc  run   srv  tmp  var
  dev  home  lib64  media       opt  root  sbin  sys  usr

(3)從當前容器退回主機(容器停止並退出)

  [root@77f36d0b8111 /]# exit
  exit
  [root@CentOs ~]# ls

  容器不停止退出:Ctrl +p + q

  [root@CentOs /]# docker run -it centos /bin/bash
  [root@8d6fcd9da0b3 /]# [root@CentOs /]#

 

 

 

(4)列出所有執行的容器

docker ps         列出當前執行的容器

    -a            列出當前執行的容器和歷史執行過的容器

    -n=?      顯示最近建立的容器

    -q    只顯示容器的編號

 

  [root@CentOs /]# docker ps
    CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
  [root@CentOs /]# docker ps -a
    CONTAINER ID   IMAGE          COMMAND       CREATED         STATUS                     PORTS     NAMES
    77f36d0b8111       centos         "/bin/bash"   6 minutes ago        Exited (0) 2 minutes ago             gallant_volhard
    c8bcfba8893c      feb5d9fea6a5   "/hello"      17 hours ago    Exited (0) 17 hours ago                 blissful_shannon
  [root@CentOs /]# docker ps -n=1
    CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS                      PORTS     NAMES
    77f36d0b8111   centos        "/bin/bash"   15 minutes ago   Exited (0) 11 minutes ago               gallant_volhard
  [root@CentOs /]# docker ps -aq
    77f36d0b8111
    c8bcfba8893c


2,刪除容器

docker rm  容器id             刪除指定的容器,不能刪除正在執行的容器,rm -rf 強制刪除

docker rm -f $(docker ps -aq)        刪除所有的容器

docker ps -a -q | xargs docker rm                    刪除所有的容器

 

 

3,啟動和刪除容器的操作

docker start 容器id       啟動容器

docker restart 容器id      重啟容器

docker stop 容器id       停止當前正在執行的容器

docker kill 容器id        強制停止當前容器