Docker 的常用命令

帮助命令

docker version 显示docker版本信息

docker info 显示docker系统信息

docker 命令 —help 帮助命令

  1. (base) pavels-MacBook-Air:~ pavel$ docker version # 显示docker版本信息
  2. (base) pavels-MacBook-Air:~ pavel$ docker info # 显示docker系统信息
  3. (base) pavels-MacBook-Air:~ pavel$ docker pull --help # 帮助命令

官方文档:https://docs.docker.com/reference/

镜像命令

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

  1. (base) pavels-MacBook-Air:~ pavel$ docker images
  2. REPOSITORY TAG IMAGE ID CREATED SIZE
  3. hello-world latest d1165f221234 6 months ago 13.3kB
  4. # 可选项 【docker images --help 进行查看】
  5. -a --all # 列出所有镜像
  6. -q --quiet # 只显示镜像的id

docker search 搜索镜像

  1. (base) pavels-MacBook-Air:~ pavel$ docker search mysql
  2. NAME DESCRIPTION STARS OFFICIAL AUTOMATED
  3. mysql MySQL is a widely used, open-source relati... 11412 [OK]
  4. mariadb MariaDB Server is a high performing open s... 4336 [OK]
  5. mysql/mysql-server Optimized MySQL Server Docker images. Crea... 847 [OK]
  6. centos/mysql-57-centos7 MySQL 5.7 SQL database server 91
  7. # 可选项 【docker search --help 进行查看】
  8. --filter=stars=3000 # 过滤 stars >= 3000 的镜像
  9. (base) pavels-MacBook-Air:~ pavel$ docker search --filter=stars=3000 mysql
  10. NAME DESCRIPTION STARS OFFICIAL AUTOMATED
  11. mysql MySQL is a widely used, open-source relati... 11412 [OK]
  12. mariadb MariaDB Server is a high performing open s... 4336 [OK]
  13. (base) pavels-MacBook-Air:~ pavel$ docker search --filter stars=3000 mysql
  14. NAME DESCRIPTION STARS OFFICIAL AUTOMATED
  15. mysql MySQL is a widely used, open-source relati... 11412 [OK]
  16. mariadb MariaDB Server is a high performing open s... 4336 [OK]

docker pull 下载镜像

  1. docker pull 镜像名称:tag
  2. (base) pavels-MacBook-Air:~ pavel$ docker pull mysql
  3. Using default tag: latest # 如果不写 tag,默认就是 latest
  4. latest: Pulling from library/mysql
  5. (base) pavels-MacBook-Air:~ pavel$ docker pull mysql:5.7
  6. 5.7: Pulling from library/mysql

docker rmi 删除镜像

格式: docker rmi 镜像名称【或者镜像id】 镜像名称……

  1. (base) pavels-MacBook-Air:~ pavel$ docker rmi -f mysql:5.7
  2. Untagged: mysql:5.7
  3. # 删除所有镜像
  4. docker rmi -f $(docker images -aq)

容器命令

说明:有了镜像才可以创建容器

  1. (base) pavels-MacBook-Air:~ pavel$ docker pull centos
  2. Using default tag: latest

新建容器并启动

  1. docker run [可选参数] image
  2. # 参数说明
  3. --name="name" # 容器名称 如 php7 ,用来区分容器
  4. -d # 后台方式运行
  5. -it # 使用交互式运行,进入容器查看内容
  6. -p # 指定日期端口
  7. -p 主机端口:容器端口
  8. # 启动并进入容器
  9. (base) pavels-MacBook-Air:~ pavel$ docker run --name mycentos -it centos
  10. [root@21f1514afb0a /]# ls # 查看容器内的 centos
  11. bin etc lib lost+found mnt proc run srv tmp var
  12. dev home lib64 media opt root sbin sys usr
  13. [root@21f1514afb0a /]# exit # 从容器中退回主机
  14. exit

列出所有运行的容器

  1. # docker ps
  2. # 列出当前正在运行的容器
  3. -a # 列出当前正在运行的容器, 带出历史运行过的容器
  4. -n=? # 显示最近创建的容器
  5. -q # 只显示容器的编号
  6. (base) pavels-MacBook-Air:~ pavel$ docker ps

退出容器

  1. exit # 直接容器停止并退出
  2. Ctrl + P + Q # 容器不停止退出

删除容器

  1. docker rm 容器id # 删除指定的容器,无法删除正在运行的容器, 选项 -f 可以强制删除。
  2. docker rm -f $(docker ps -aq) # 删除所有的容器
  3. docker ps -a -q | xargs docker rm

启动和停止容器操作

  1. docker start 容器id
  2. docker restart 容器id
  3. docker stop 容器id
  4. docker kill 容器id