docker version

显示docker版本信息

docker info

显示docker的系统信息,包括镜像和容器数量

docker 命令 --help

帮助文档

docker images

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

  1. [root@wangpengliang ~]# docker images
  2. REPOSITORY TAG IMAGE ID CREATED SIZE
  3. hello-world latest bf756fb1ae65 10 months ago 13.3kB
标签 描述
TAG 镜像标签
IMAGE ID 镜像ID
CREATED 镜像创建时间
SIZE 镜像大小
REPOSITORY 镜像仓库源

可选项
-a, --all 列出所有镜像
-q, --quiet 只显示镜像ID

docker search

镜像搜索

  1. [root@wangpengliang ~]# docker search mysql
  2. NAME DESCRIPTION STARS OFFICIAL AUTOMATED
  3. mysql MySQL is a widely used, open-source relation 10910 [OK]
  4. mariadb MariaDB Server is a high performing open sou 4119 [OK]

可选项
--filter STARS=3000 搜索Stars数大于3000镜像

  1. [root@192 ~]# docker search mysql --filter STARS=3000

docker pull

下载镜像,默认下载最新版

  1. [root@wangpengliang ~]# docker pull mysql
  2. Using default tag: latest # 如果不写tage,默认就是latest
  3. latest: Pulling from library/mysql
  4. bb79b6b2107f: Pull complete # 分层下载 docker iamge的核心 联合文件系统
  5. 49e22f6fb9f7: Pull complete
  6. 842b1255668c: Pull complete
  7. 9f48d1f43000: Pull complete
  8. c693f0615bce: Pull complete
  9. 8a621b9dbed2: Pull complete
  10. 0807d32aef13: Pull complete
  11. a56aca0feb17: Pull complete
  12. de9d45fd0f07: Pull complete
  13. 1d68a49161cc: Pull complete
  14. d16d318b774e: Pull complete
  15. 49e112c55976: Pull complete
  16. Digest: sha256:8c17271df53ee3b843d6e16d46cff13f22c9c04d6982eb15a9a47bd5c9ac7e2d # 签名 唯一表示
  17. Status: Downloaded newer image for mysql:latest
  18. docker.io/library/mysql:latest # 真实地址
  19. # 等价
  20. docker pull mysql
  21. docker pull docker.io/library/mysql:latest

docker pull version

指定版本下载

  1. [root@192 ~]# docker pull mysql:5.7

docker rmi

删除镜像

  1. [root@wangpengliang ~]# docker rmi -f 根据镜像ID删除指定镜像
  2. [root@wangpengliang ~]# docker rmi -f 根据镜像ID删除多个镜像
  3. [root@wangpengliang ~]# docker rmi -f $(docker images -qa) 删除所有镜像

docker run [可选参数] image

参数说明

  • --name 容器名 用来区分容器
  • -d 后台方式运行
  • -it 使用交互方式运行,进入容器查看内容
  • -p 指定容器的端口 -p 8080:8080
  • -P 随机指定端口(大写-P)

测试启动容器

  1. [root@wangpengliang ~]# docker run -it centos /bin/bash
  2. [root@c1afa7ccf7d6 /]# ls
  3. bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
  4. #退回容器到主机
  5. [root@c1afa7ccf7d6 /]# exit

docker -ps

查看Docker当前运行的容器
参数说明

  • -a 列出当前在运行的容器+历史容器
  • -q 只显示容器编号
    1. [root@192 ~]# docker ps -a

exit

退出容器

docker rm containerId/containerName

  1. docker rm 容器Id # 删除指定容器,不能删除在运行中的容器,如果要强制删除加-f
  2. docker rm -f $( docker ps -aq) # 删除所有容器
  3. docker ps -a -q | xargs docker rm # 删除所有容器

docker star containerId/containerName

启动容器

docker restart containerId/containerName

重启容器

docker stop containerId/containerName

停止当前正在运行的容器

docker kill containerId/containerName

强制停止当前容器

docker run -d containerId/containerName

后台运行容器

docerk logs containerId/containerName

查看日志

docker top containerId/containerName

查看容器进程信息

docker inspect containerId/containerName

查看镜像的元数据新信息

docker exec **

  1. [root@wangpengliang ~]# docker exec -it 88c647580c /bin/bashh
  2. [root@88c647580c32 /]# ls
  3. bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
  4. [root@88c647580c32 /]# ps -ef
  5. [root@88c647580c32 /]# exit

docker attach

  1. [root@wangpengliang ~]# docker attach 88c647580c

attach 与 exec 区别

  • docker exec 进容器后开启一个新的后端,可以直接操作
  • docker attach 进入容器正在执行终端,不会启动新的进程

docker cp

文件拷贝,从docker内拷贝文件到宿主机

  1. 进入容器
  2. [root@88c647580c32 /]# docker exec -it 88c647580c /bin/bash
  3. [root@88c647580c32 /]# cd home/
  4. #创建文件
  5. [root@88c647580c32 home]# touch test.txt
  6. [root@88c647580c32 home]# exit
  7. exit
  8. #拷贝文件
  9. [root@88c647580c32 /]# docker cp 88c647580c:/home/test.txt /home/
  10. [root@88c647580c32 /]# ls /home/
  11. test.txt
  12. [root@88c647580c32 /]#

apt-get update && apt-get install iputils-ping

在容器内安装 ping 工具