docker version#

显示docker版本信息。

docker info#

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

docker 命令 –help#

帮助文档。

docker images#

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

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

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

docker search#

镜像搜索。

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

可选项

--filter STARS=3000: 搜索Stars数大于3000镜像

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

docker pull#

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

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

等价于

docker pull mysql 
docker pull docker.io/library/mysql:latest

docker pull version#

指定版本下载。

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

docker rmi#

删除镜像。

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

docker run [可选参数] image#

参数说明

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

测试启动容器

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

docker -ps#

查看Docker当前运行的容器。

参数说明

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

exit#

退出容器。

docker rm cId/cName#

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

docker star cId/cName#

启动容器。

docker restart cId/cName#

重启容器。

docker stop cId/cName#

停止当前正在运行的容器。

docker kill cId/cName#

强制停止当前容器。

docker run -d cId/cName#

后台运行容器。

docerk logs cId/cName#

查看日志。

docker top cId/cName#

查看容器进程信息。

docker inspect cId/cName#

查看镜像的元数据新信息。

docker exec#

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

docker attach #

[root@wangpengliang ~]# docker attach  88c647580c

attach 与 exec 区别

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

docker cp#

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

#进入容器
[root@88c647580c32 /]# docker exec -it 88c647580c /bin/bash
[root@88c647580c32 /]# cd home/
#创建文件
[root@88c647580c32 home]# touch  test.txt
[root@88c647580c32 home]# exit
exit
#拷贝文件
[root@88c647580c32 /]# docker cp 88c647580c:/home/test.txt /home/
[root@88c647580c32 /]# ls /home/
test.txt
[root@88c647580c32 /]#

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

在容器内安装 ping 工具。