Docker常用命令

Docker命令从入门到实践

镜像命令

docker images 列出本机上的镜像
docker images
-a:列出本地所有镜像(含中间cen镜像)
docker images
-q:只显示镜像id
docker images
--digests:显示镜像的摘要信息
docker images
--no-trunc:显示完整的镜像信息
docker search 某个镜像的名字
docker search [name]
--no-trunc:显示完整的镜像描述
docker search [name]
-s:列出收藏数不小于指定值的镜像
docker search [name]
--automated:只列出 automated build 类型的镜像
docker pull 某个镜像的名字:下载镜像
docker pull 镜像名字:[TAG]:下载指定版本的镜像
docker rmi 某个镜像id:删除镜像
docker rmi
-f 镜像id:删除单个
docker rmi
-f 镜像名1 镜像名2:删除多个
docker rmi
-f${docker images -qa}:删除全部

容器命令
新建并启动容器docker run [OPTIONS] IMAGE [CPMMAND][ARG...]
OPTIONS说明(常用):有些是一个减号,有些是两个减号

  • –name=“容器新名字”: 为容器指定一个名称;
  • -d: 后台运行容器,并返回容器ID,也即启动守护式容器;
  • -i:以交互模式运行容器,通常与 -t 同时使用;交互式操作
  • -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;新终端
  • -P: 随机端口映射;
  • -p: 指定端口映射,有以下四种格式
    • ip:hostPort:containerPort
    • ip::containerPort
    • hostPort:containerPort
    • containerPort
  • bin/bash :放在镜像后面的命令,这里我们希望有个交互式shell,因此用的是/bin/bash,要退出终端直接用exit;

列出当前所有正在运行的容器docker ps [OPTIONS]
OPTIONS说明(常用):

  • -a :列出当前所有正在运行的容器+历史上运行过的
  • -l :显示最近创建的容器。
  • -n:显示最近n个创建的容器。
  • -q :静默模式,只显示容器编号。
  • –no-trunc :不截断输出。

退出容器

  • exit :容器停止并退出
  • ctrl+P+Q:容器不停止退出
启动容器docker start 容器id或容器名

重启容器docker restart 容器id或容器名

停止容器docker stop 容器id或容器名

强制停止容器docker kill 容器id或容器名

删除已停止的容器docker rm 容器ID

docker rm -f ${docker ps -a -q}或docker ps -a -q | xargs docker rm: 一次性删除多个

启动守护式容器   docker run -d 容器名
启动交互式容器   docker run -it 容器名

切记像是Mysql、redis一定要启动后台守护式进程,一定 -d
//以redis为例,像mysql  redis这种常驻后台的服务要运行容器后执行docker ps查看是否运行正常
[root@192 ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
redis         6.2       aa41c0869d44   3 days ago     113MB
redis         latest    1ca2c2a1b554   3 days ago     117MB
ubuntu        latest    825d55fb6340   5 weeks ago    72.8MB
mysql         5.7       f26e21ddd20d   6 weeks ago    450MB
hello-world   latest    feb5d9fea6a5   7 months ago   13.3kB
[root@192 ~]# docker run -d redis:6.2
8d32554214a2d2f2b9b3f107c48272714738da63aa66b2fb19a83b9b92c4d690
[root@192 ~]# docker ps
CONTAINER ID   IMAGE       COMMAND                  CREATED          STATUS          PORTS      NAMES
8d32554214a2   redis:6.2   "docker-entrypoint.s…"   3 seconds ago    Up 2 seconds    6379/tcp   mystifying_williamson
0131d3bea50e   redis:6.2   "docker-entrypoint.s…"   17 seconds ago   Up 15 seconds   6379/tcp   strange_bohr

 

查看容器日志docker logs -f -t --tail 容器id

  • -t加入时间戳
  • -f跟随最新日志打印
  • –tail显示最后多少条
查看容器内运行的进程docker top 容器id

查看容器内部细节docker inspect 容器id

从容器内拷贝文件到主机上docker cp 容器id:容器内路径 目的主机路径

进入正在运行的容器并以命令行交互

  • docker exec -it 容器id bin/bash:在容器中打开新的终端,并且可以启动新的进程 ,用exit退出,不会导致容器停止。如 docker exec -it d0198d7d4701 /bin/bash
  • docker attach 容器id:直接进入容器启动命令的终端,不会启动新的进程,用exit退出的话,会导致容器停止。
[root@localhost ~]# docker ps -a. //docker ps -a是列举当前活着的和历史出现过的,docker ps是列出当前活着的
CONTAINER ID   IMAGE         COMMAND                  CREATED       STATUS                     PORTS                                                  NAMES
d16b33bf5818   mysql:5.7     "docker-entrypoint.s…"   4 weeks ago   Exited (255) 5 hours ago   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   mysql
0c8c9ac7e7a2   redis:6.0.8   "docker-entrypoint.s…"   4 weeks ago   Exited (0) 4 weeks ago                                                            nifty_thompson
1c28b082941a   ubuntu        "/bin/bash"              4 weeks ago   Exited (129) 4 weeks ago                                                          aaa
4b7f9290c1be   ubuntu        "bash"                   4 weeks ago   Exited (0) 4 weeks ago                                                            myubuntu
f197890eeab0   ubuntu        "/bin/bash"              4 weeks ago   Exited (129) 4 weeks ago                                                          my-ubuntu
6a2e08188938   ubuntu        "/bin/bash"              4 weeks ago   Exited (129) 4 weeks ago                                                          gracious_engelbart
5156c28ea455   hello-world   "/hello"                 4 weeks ago   Exited (0) 4 weeks ago                                                            recursing_tereshkova
docker ps -l   //显示最近创建的容器
docker ps -n 3 //显示最近3个创建的容器
exit :容器停止并退出
ctrl+P+Q:容器不停止退出
启动容器docker start 容器id或容器名
重启容器docker restart 容器id或容器名
停止容器docker stop 容器id或容器名
强制停止容器docker kill 容器id或容器名
删除已停止的容器docker rm 容器ID
docker rm `docker ps -a -q` #删除所有的已经停止的容器
 

docker commit 

docker commit :从容器创建一个新的镜像。
语法
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
OPTIONS说明:

  • -a :提交的镜像作者;
  • -c :使用Dockerfile指令来创建镜像;
  • -m :提交时的说明文字;
  • -p :在commit时,将容器暂停。
[root@192 ~]# docker commit -m ="mkdir ttt" -a="wt" 8d32554214a2 wt_redis:6.3.1
sha256:84e6494e131bd285135ac97a39d05d27cc829235db41be61b311d25ed782cba8
[root@192 ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
wt_redis      6.3.1     84e6494e131b   9 seconds ago   113MB
redis         6.2       aa41c0869d44   3 days ago      113MB
redis         latest    1ca2c2a1b554   3 days ago      117MB
ubuntu        latest    825d55fb6340   5 weeks ago     72.8MB
mysql         5.7       f26e21ddd20d   6 weeks ago     450MB
hello-world   latest    feb5d9fea6a5   7 months ago    13.3kB

[root@192 ~]# docker run -it 84e6494e131b /bin/bash

 


 

posted @ 2020-07-14 14:04  温柔的风  阅读(272)  评论(0编辑  收藏  举报