人生有涯,学海无涯

一、帮忙命令

docker version    # 显示docker版本信息docker info       # 显示docker零碎信息,包含镜像和容器数量docker 命令 --help # 帮忙信息

帮忙文档:https://docs.docker.com/engin...

二、镜像命令

帮忙文档:https://docs.docker.com/engin...

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

[root@jiangwang /]# docker imagesREPOSITORY    TAG       IMAGE ID       CREATED      SIZEhello-world   latest    d1165f221234   3 days ago   13.3kB# 解释REPOSITORY   镜像的仓库源TAG          镜像的标签IMAGE ID     镜像的idCREATED      镜像的创立工夫SIZE         镜像的大小# 可选项  -a, --all             # 列出所有的镜像  -q, --quiet           # 只显示id  [root@jiangwang /]# docker images -aREPOSITORY    TAG       IMAGE ID       CREATED      SIZEhello-world   latest    d1165f221234   3 days ago   13.3kB[root@jiangwang /]# docker images -qd1165f221234[root@jiangwang /]# docker images -aqd1165f221234[root@jiangwang /]# 

docker search 搜寻镜像

[root@jiangwang /]# docker search mysqlNAME                              DESCRIPTION                                     STARS     OFFICIAL   AUTOMATEDmysql                             MySQL is a widely used, open-source relation…   10589     [OK]       mariadb                           MariaDB Server is a high performing open sou…   3963      [OK]  # 可选项,通过镜像来过滤  -f, --filter=STARS=3000   # 搜寻进去的镜像就是STARS大于3000的 [root@jiangwang /]# docker search mysql --filter=STARS=3000NAME      DESCRIPTION                                     STARS     OFFICIAL   AUTOMATEDmysql     MySQL is a widely used, open-source relation…   10589     [OK]       mariadb   MariaDB Server is a high performing open sou…   3963      [OK]       [root@jiangwang /]# docker search mysql --filter=STARS=5000NAME      DESCRIPTION                                     STARS     OFFICIAL   AUTOMATEDmysql     MySQL is a widely used, open-source relation…   10589     [OK]       [root@jiangwang /]# 

docker pull 下载镜像

docker pull image_name# 下载一个mysql的镜像,默认下载最新的镜像[root@jiangwang /]# docker pull mysql# 下载指定版本的镜像[root@jiangwang /]# docker pull mysql:5.7# 查看一下下载的所有镜像[root@jiangwang /]# docker imagesREPOSITORY    TAG       IMAGE ID       CREATED       SIZEhello-world   latest    d1165f221234   3 days ago    13.3kBmysql         5.7       a70d36bc331a   7 weeks ago   449MBmysql         latest    c8562eaf9d81   7 weeks ago   546MB

删除镜像

# 依据id删除镜像 docker rmi -f a70d36bc331a[root@jiangwang /]# docker rmi -f a70d36bc331aUntagged: mysql:5.7Untagged: mysql@sha256:b3d1eff023f698cd433695c9506171f0d08a8f92a0c8063c1a4d9db9a55808dfDeleted: sha256:a70d36bc331a13d297f882d3d63137d24b804f29fa67158c40ad91d5050c39c5Deleted: sha256:50c77bf7bcddd1f1d97789d80ac2404eec22c860c104e858620d2a2e321f0ef7Deleted: sha256:14244329b83dfc8982398ee4104a548385652d2bffb957798ff86a419013efd6Deleted: sha256:6d990477f90af28473eb601a9bca22253f6381e053c5a8edda0a4f027e124a3cDeleted: sha256:ee0449796df204071589162fc16f8d65586312a40c68d1ba156c93c56f5e5ce8[root@jiangwang /]# docker imagesREPOSITORY    TAG       IMAGE ID       CREATED       SIZEhello-world   latest    d1165f221234   3 days ago    13.3kBmysql         latest    c8562eaf9d81   7 weeks ago   546MB[root@jiangwang /]# ## 删除所有镜像[root@jiangwang /]# docker rmi -f $(docker images -aq)[root@jiangwang /]# docker imagesREPOSITORY   TAG       IMAGE ID   CREATED   SIZE[root@jiangwang /]# # 删除多个镜像docker rmi -f 镜像id 镜像id 镜像id

三、容器命令

阐明:有了镜像能力创立容器,Linux,下载一个centos镜像

[root@jiangwang /]# docker pull centosUsing default tag: latestlatest: Pulling from library/centos7a0437f04f83: Pull complete Digest: sha256:5528e8b1b1719d34604c87e11dcd1c0a20bedf46e83b5632cdeac91b8c04efc1Status: Downloaded newer image for centos:latestdocker.io/library/centos:latest[root@jiangwang /]# 

新建容器并启动

docker run [可选参数] image# 参数阐明--name="Name"    容器名字  tomcat01  tomcat02,用来辨别容器-d               后盾形式运行-it              应用交互方式运行,进入容器查看内容-p               指定容器端口  -p 8080:8080    -p ip:主机端口:容器端口    -p 主机端口:容器端口  (罕用)    -p 容器端口    容器端口    -P               随机指定端口# 测试,启动并进入容器[root@jiangwang /]# docker run -it centos /bin/bash[root@685c34c813d5 /]# ls   # 查看容器内的centosbin  etc   lib      lost+found  mnt  proc  run   srv  tmp  vardev  home  lib64  media       opt  root  sbin  sys  usr# 从容器中退回主机[root@685c34c813d5 /]# exitexit[root@jiangwang /]# lsbin   dev  home        lib    lost+found  mnt  patch  root  sbin  sys  usr  wwwboot  etc  install.sh  lib64  media       opt  proc   run   srv   tmp  var

查看以后有哪些容器正在运行

# docker ps 显示失常运行的容器-a   # 显示以后正在运行的容器 + 历史运行过的容器-n=? # 显示最近创立的容器-q   # 只显示容器的编号[root@jiangwang /]# docker psCONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES[root@jiangwang /]# docker ps -aCONTAINER ID   IMAGE          COMMAND       CREATED         STATUS                          PORTS     NAMES685c34c813d5   centos         "/bin/bash"   3 minutes ago   Exited (0) About a minute ago             pensive_shawdb8909cfa9cc   d1165f221234   "/hello"      4 hours ago     Exited (0) 4 hours ago                    adoring_shockley[root@jiangwang /]# docker ps -n=1CONTAINER ID   IMAGE     COMMAND       CREATED         STATUS                     PORTS     NAMES685c34c813d5   centos    "/bin/bash"   7 minutes ago   Exited (0) 5 minutes ago             pensive_shaw[root@jiangwang /]# docker ps -aq685c34c813d5db8909cfa9cc[root@jiangwang /]# 

退出容器

exit          # 间接退出容器并进行Ctrl + P + Q  # 退出容器然而容器不进行[root@jiangwang /]# docker psCONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES[root@jiangwang /]# docker run -it centos /bin/bash[root@589fa10f7998 /]# [root@jiangwang /]# docker psCONTAINER ID   IMAGE     COMMAND       CREATED          STATUS          PORTS     NAMES589fa10f7998   centos    "/bin/bash"   31 seconds ago   Up 29 seconds             magical_noether[root@jiangwang /]# 

启动、进行、重启容器命令

docker start container_name/container_id      # 启动容器docker stop container_name/container_id       # 进行以后正在运行的容器docker restart container_name/container_id   # 重启容器docker kill container_name/container_id         # 强制进行以后容器

后盾启动一个容器后,如果想进入到这个容器,能够应用attach命令

docker attach container_name/container_id

删除容器的命令

docker rm container_name/container_id   # 不能删除正在运行的容器

删除所有进行的容器

docker rm -f $(docker ps -a -q)

查看以后零碎Docker信息

docker info

从Docker hub上下载某个镜像

docker pull centos:latest

查找ocker Hub上的nginx镜像

docker search nginx

四、罕用的其余命令

后盾启动容器

# docker run -d 镜像名[root@jiangwang /]# docker run -d centosdd83c9017b8b6cb2ed07d1943e0db8421b7ad0864ab291e7d470a6af76a8a6a9[root@jiangwang /]# docker psCONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES[root@jiangwang /]# # 问题docker ps ,发现 centos 进行了# 常见的坑:docker 容器应用后盾运行,就必须要有一个前台过程,docker发现没有利用,就主动进行# nginx,容器启动后,发现袭击没有提供服务,就立即进行,就是没有程序了

查看日志

docker logs -f -t --tail 容器

查看容器中的过程信息 ps

# 命令 docker top 容器id[root@jiangwang /]# docker top fbff5b668c3aUID      PID       PPID      C       STIME       TTY           TIME        CMD     root     4345      4324      0       16:59       pts/0         00:00:00    /bin/bash

查看镜像中的元数据

# docker inspect 容器id# 测试[root@jiangwang /]# docker inspect 容器id

进入以后正在运行的容器

# 命令 docker exec -it 容器id /bin/bash# 测试[root@jiangwang /]# docker psCONTAINER ID   IMAGE     COMMAND       CREATED          STATUS          PORTS     NAMESfbff5b668c3a   centos    "/bin/bash"   16 minutes ago   Up 16 minutes             blissful[root@jiangwang /]# docker exec -it fbff5b668c3a /bin/bash[root@fbff5b668c3a /]# lsbin  etc   lib      lost+found  mnt  proc  run   srv  tmp  vardev  home  lib64  media       opt  root  sbin  sys  usr[root@fbff5b668c3a /]# ps -efUID        PID  PPID  C STIME TTY          TIME CMDroot         1     0  0 08:59 pts/0    00:00:00 /bin/bashroot        16     0  0 09:16 pts/1    00:00:00 /bin/bashroot        32    16  0 09:17 pts/1    00:00:00 ps -ef# 形式二、docker attach 容器id[root@jiangwang /]# docker psCONTAINER ID   IMAGE     COMMAND       CREATED          STATUS          PORTS     NAMESfbff5b668c3a   centos    "/bin/bash"   20 minutes ago   Up 20 minutes             blissful_tu[root@jiangwang /]# docker attach fbff5b668c3a[root@fbff5b668c3a /]# lsbin  etc   lib      lost+found  mnt  proc  run   srv  tmp  vardev  home  lib64  media       opt  root  sbin  sys  usr[root@fbff5b668c3a /]# 

从容器内拷贝文件到主机上

# 命令 docker cp 容器id:容器内门路 目标的主机门路# 进入容器[root@jiangwang /]# docker attach fbff5b668c3a      [root@fbff5b668c3a /]# lsbin  etc   lib      lost+found  mnt  proc  run   srv  tmp  vardev  home  lib64  media       opt  root  sbin  sys  usr[root@fbff5b668c3a /]# cd home/ # 在容器内 home 门路下新建一个test.java文件[root@fbff5b668c3a home]# touch test.java     [root@fbff5b668c3a home]# lstest.java[root@fbff5b668c3a home]# exitexit[root@jiangwang /]# docker psCONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES# 将容器内的test.java文件拷贝到linux主机上[root@jiangwang /]# docker cp fbff5b668c3a:/home/test.java /home    [root@jiangwang /]# cd home/# 胜利拷贝到/home目录下[root@jiangwang home]# lsf2  f3  jiangwang  test.java  www