11-docker常用命令

1 基础命令

  docker version          #查看docker的版本信息
  docker info             #查看docker的系统信息,包括镜像和容器的数量
  docker 命令 --help       #帮助命令(可查看可选的参数)
  docker COMMAND --help

命令的帮助文档地址:https://docs.docker.com/engine/reference/commandline/docker/

2 镜像命令

1.docker images 查看本地主机的所有镜像

  [root@iZwz99sm8v95sckz8bd2c4Z ~]# docker images
  REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
  hello-world   latest    bf756fb1ae65   11 months ago   13.3kB

解释:
1.REPOSITORY 镜像的仓库源
2.TAG 镜像的标签
3.IMAGE ID 镜像的id
4.CREATED 镜像的创建时间
5.SIZE 镜像的大小

可选参数

  -a/--all 列出所有镜像
  -q/--quiet 只显示镜像的id
  -aq    组合使用,列出所有镜像的id

2.docker search 搜索镜像


  [root@iZwz99sm8v95sckz8bd2c4Z ~]# docker search mysql
  NAME                              DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
  mysql                             MySQL is a widely used, open-source relation…   10308     [OK]
  mariadb                           MariaDB is a community-developed fork of MyS…   3819      [OK]
  mysql/mysql-server                Optimized MySQL Server Docker images. Create…   754                  [OK]
  percona                           Percona Server is a fork of the MySQL relati…   517       [OK]
  centos/mysql-57-centos7           MySQL 5.7 SQL database server                   86
  mysql/mysql-cluster               Experimental MySQL Cluster Docker images. Cr…   79
  centurylink/mysql                 Image containing mysql. Optimized to be link…   60                   [OK]


  #可选参数

  Search the Docker Hub for images

  Options:
    -f, --filter filter   Filter output based on conditions provided
        --format string   Pretty-print search using a Go template
        --limit int       Max number of search results (default 25)
        --no-trunc        Don't truncate output
        
        
  #搜索收藏数大于3000的镜像
  [root@iZwz99sm8v95sckz8bd2c4Z ~]# docker search mysql --filter=STARS=3000
  NAME      DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
  mysql     MySQL is a widely used, open-source relation…   10308     [OK]
  mariadb   MariaDB is a community-developed fordockerk of MyS…   3819      [OK]

3.docker pull 镜像名[:tag] 下载镜像

  [root@iZwz99sm8v95sckz8bd2c4Z ~]# docker pull mysql
  Using default tag: latest            #如果不写tag默认就是latest
  latest: Pulling from library/mysql
  6ec7b7d162b2: Pull complete          #分层下载,docker image的核心-联合文件系统
  fedd960d3481: Pull complete
  7ab947313861: Pull complete
  64f92f19e638: Pull complete
  3e80b17bff96: Pull complete
  014e976799f9: Pull complete
  59ae84fee1b3: Pull complete
  ffe10de703ea: Pull complete
  657af6d90c83: Pull complete
  98bfb480322c: Pull complete
  6aa3859c4789: Pull complete
  1ed875d851ef: Pull complete
  Digest: sha256:78800e6d3f1b230e35275145e657b82c3fb02a27b2d8e76aac2f5e90c1c30873 #签名
  Status: Downloaded newer image for mysql:latest
  docker.io/library/mysql:latest  #下载来源的真实地址  #docker pull mysql等价于docker pull docker.io/library/mysql:latest

指定版本下载

  [root@iZwz99sm8v95sckz8bd2c4Z ~]# docker pull mysql:5.7
  5.7: Pulling from library/mysql
  6ec7b7d162b2: Already exists    # Already exists解释:docker是文件公用的,因为我们已经下载了最新版的mysql,这些文件已经存在了,就不用再下载了,实现了文件的公用,提高了下载效率
  fedd960d3481: Already exists
  7ab947313861: Already exists
  64f92f19e638: Already exists
  3e80b17bff96: Already exists
  014e976799f9: Already exists
  59ae84fee1b3: Already exists
  7d1da2a18e2e: Pull complete
  301a28b700b9: Pull complete
  529dc8dbeaf3: Pull complete
  bc9d021dc13f: Pull complete
  Digest: sha256:c3a567d3e3ad8b05dfce401ed08f0f6bf3f3b64cc17694979d5f2e5d78e10173
  Status: Downloaded newer image for mysql:5.7
  docker.io/library/mysql:5.7

4.docker rmi 删除镜像

  #1.删除指定的镜像id
  [root@iZwz99sm8v95sckz8bd2c4Z ~]# docker rmi -f  镜像id
  #2.删除多个镜像id
  [root@iZwz99sm8v95sckz8bd2c4Z ~]# docker rmi -f  镜像id 镜像id 镜像id
  #3.删除全部的镜像id
  [root@iZwz99sm8v95sckz8bd2c4Z ~]# docker rmi -f  $(docker images -aq)

3 容器命令

如拉取一个centos容器
docker pull centos

运行容器
例如运行mysql:docker run -p 3306:3306 --name mysql -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7

docker mysql修改配置文件:
vi /mydata/mysql/conf/my.conf

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci' init_connect='SET NAMES utf8' character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
  docker run [可选参数] image

  #参数说明
  --name="名字"           指定容器名字
  -d                     后台方式运行
  -it                    使用交互方式运行,进入容器查看内容 
  -p                     指定容器的端口
  (
  -p ip:主机端口:容器端口  配置主机端口映射到容器端口
  -p 主机端口:容器端口
  -p 容器端口
  )
  -P                     随机指定端口(大写的P)

进入容器

  [root@iZwz99sm8v95sckz8bd2c4Z ~]# docker run -it centos /bin/bash
  [root@bd1b8900c547 /]# ls      
  bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp

退出容器

  #exit 停止并退出容器(后台方式运行则仅退出)
  #Ctrl+P+Q  不停止容器退出
  [root@bd1b8900c547 /]# exit
  exit

列出运行过的容器

  #docker ps 
       # 列出当前正在运行的容器
  -a   # 列出所有容器的运行记录
  -n=? # 显示最近创建的n个容器
  -q   # 只显示容器的编号


  [root@iZwz99sm8v95sckz8bd2c4Z ~]# docker ps
  CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
  [root@iZwz99sm8v95sckz8bd2c4Z ~]# docker ps -a
  CONTAINER ID   IMAGE          COMMAND       CREATED         STATUS                     PORTS     NAMES
  bca129320bb5   centos         "/bin/bash"   4 minutes ago   Exited (0) 3 minutes ago             optimistic_shtern
  bd1b8900c547   centos         "/bin/bash"   6 minutes ago   Exited (0) 5 minutes ago             cool_tesla
  cf6adbf1b506   bf756fb1ae65   "/hello"      5 hours ago     Exited (0) 5 hours ago               optimistic_darwin

删除容器

  docker rm 容器id                 #删除指定的容器,不能删除正在运行的容器,强制删除使用 rm -f
  docker rm -f $(docker ps -aq)   #删除所有的容器
  docker ps -a -q|xargs docker rm #删除所有的容器

启动和停止容器

  docker start 容器id          #启动容器
  docker restart 容器id        #重启容器
  docker stop 容器id           #停止当前运行的容器
  docker kill 容器id           #强制停止当前容器
posted @ 2022-01-12 21:33  不是孩子了  阅读(102)  评论(0)    收藏  举报