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        强制停止当前容器

 

posted @ 2022-03-18 17:19  屯子里唯一的架构师  阅读(146)  评论(0编辑  收藏  举报