zoukankan      html  css  js  c++  java
  • Docker容器常用命令

    Docker容器命令
    1.docker运行(创建)容器命令
    2. docker查看容器命令
    3. docker退出容器命令
    4. docker启动容器命令
    5. docker重启容器命令
    6. docker停止容器命令
    7. docker删除容器命令
    8. docker进入容器命令
    9. docker查看容器日志
    10. docker查看容器内运行的线程
    11. docker查看容器的内部细节
    12. docker将容器中的信息拷贝到宿主机
    13. docker提交自定义镜像

    1.docker运行(创建)容器命令

    •  docker run 镜像名

    1 | docker run tomcat
    创建并运行容器命令,如果docker主机已经下载过tomcat,则该命令会直接创建一个tomcat的容器实例,否则会先去hub端拉取该tomcat镜像,默认是 :latest最新版,然后在运行镜像且生成一个tomcat容器实例对象。

    • docker run -it 镜像名

    1 | docker run -i -t centos
    -i : 表示创建要给交互式容器

    -t:表示运行容器的同时创建一个伪终端,一般与 -i 一起使用

    该命令的意思就是 创建一个名叫centos 的镜像对应的容器实例对象,并开启一个终端与之交互,例如 centos c = new centos();

    镜像名centos是类,而运行时创建的容器 c 就是实例化的一个对象,注意这里的 c 是docker命令的,我们可以修改 c,自己设置

    • docker run -it --name 别名 镜像名

    1 | docker run -it --name mycentos centos
      –name : 自定义容器别名

    2. docker查看容器命令

    • docker ps

    1 | docker ps
    查看当前正在运行的容器对象,注意这里只显示 这个在运行中的容器信息,显示内容字段如下:

    CONTAINER ID : 容器唯一id

    IMAGE : 对应镜像名

    COMMAND:启动方式

    CREATED:创建时间

    STATUS:当前状态

    PORTS:占用端口

    NAMES:容器名称(别名)

    • docker ps -l(小写的L)

    1 | docker ps -l
    -l(小写的L) : 默认的查看只会查看正在运行中的容器信息,而ps -l 会显示最近运行的一条容器信息

    • docker ps -a

    1 | docker ps -a
    -a : 显示所有运行过的镜像信息

    • docker ps -q

    1 | docker ps -q
    -q :表示只显示对应的容器id 信息

    3. docker退出容器命令

    • exit

    离开容器,并关闭容器,这种好比 要出门了,且要关灯,只有等下次重新启动该容器后,才会再次打开灯

    • Ctrl + p + q

    暂时离开容器,还会回来,这种好比 临时出门,下去买包烟就回来,此时状态容器状态还是 up 运行中

    4. docker启动容器命令

    • docker start 容器id

    1 | docker start 容器id
    这里需要注意不是每次都是重新根据镜像生成一个容器对象(docker run),而是将以往创建并启动过的容器再次运行起来,可以先通过 docker ps -a 命令 获取运行过的容器信息,选择要启动的容器进行启动即可,还要注意这个命令只会启动容器,而不会再次打开且进入终端(可以使用docker attach 或 docker exec等命令进入)

    5. docker重启容器命令

    • docker restart 容器id

    1 | docker restart 容器id
    重新启动容器服务

    6. docker停止容器命令

    • docker stop 容器id

    1 | docker stop 容器id
    这种停止方式比较温柔,会等待容器慢慢关闭,例如电脑关机,慢慢关机

    • docker kill 容器id

    1 | docker kill 容器id
    这种方式比较粗暴,但是速度快,直接结束线程,好比电脑直接长按关机

    7. docker删除容器命令

    • docker rm 容器id

    1 | docker rm 容器id
    删除一个未运行的容器对象,支持多条删除,但是删除的容器id还未停止,则会删除异常

    • docker rm -f 容器id

    1 | docker rm -f 容器id
    -f : 强制删除,包括正在运行的容器也可以强制删除,支持多条删除

    • docker rm -f $(docker ps -aq)

    1 | docker rm -f $(docker ps -aq)
    组合命令,删除全部的容器信息

    8. docker进入容器命令

    • docker attach 容器id

    1 | docker attach 容器id
    attach:可以再次进入该容器的伪终端控制台

    • docker exec -it 容器id

    1 | docker exec -it 容器id sh
    exec:该命令,可以实现不需要进入容器终端进行交互,可以在宿主机与容器进行交互,

     -it : 表明执行一个交互式的伪终端方式进入到容器中

    9. docker查看容器日志

    • docker logs 容器id

    1 | docker logs 容器id
    查看该容器的日志信息

    • docker logs -f 容器id

    1 | docker logs -f 容器id
    -f :跟随打印最新的日志追加在最后面

    • docker logs -t 容器id

    1 | docker logs -t 容器id
    -t : 显示日志打印的时间戳

    • docker logs --tail 数量 容器id

    1 | docker logs --tail 3 容器id
    –tail 数量:只显示最新的指定数量的几条日志信息

    10. docker查看容器内运行的线程

    • docker top 容器id

    1 | docker top 容器id
    top:查看容器内运行的线程信息

    11. docker查看容器的内部细节

    • docker inspect 容器id

    1 | docker inspect 容器id
    查看容器的内部细节信息,是一个json串

    12. docker将容器中的信息拷贝到宿主机

    • docker cp 容器id:容器文件路径 宿主机路径

    1 | docker cp a57faaef1751:/tmp/yum.log ./aa.log
    cp:通过cp命令,将a57faaef1751容器中的 tmp目录下的yum.log文件,复制到宿主机的当前目录下,命名为aa.log

    13. docker提交自定义镜像

    • docker commit -a=作者名 -m=描述信息 原容器id 新容器名称

    1 | docker commit -a="lonely" -m="test commit" 原容器id lonely/mytomcat:1.0
    commit:提交镜像,将容器id对应的镜像修改后,使用commit生产 自定义镜像

    lonely/mytomcat 表示镜像名

    1.0 : 表示镜像版本

    -a= : 表明作者

    -m=:新镜像的描述信息

  • 相关阅读:
    软件研发:公司内部技术考试——算法编程题程序框架
    软件研发:公司内部技术考试——答题方法
    JConsole & JVisualVM远程监视Websphere服务器JVM的配置方法
    java.sql.SQLException: ORA-01578: ORACLE 数据块损坏问题解决办法
    ORA-00001: unique constraint (...) violated并不一定是数据冲突
    Linux部署Web应用程序超链接下载中文名称文件404问题解决办法
    Windows平台使用RMAN命令自动删除Oracle过期归档日志的方法
    Oracle调整内存超出限制出现ORA-27100: shared memory realm already exists问题解决办法
    linux下查看最消耗CPU、内存的进程
    RMAN正确地删除Archivelog以及设置有备库的归档删除策略
  • 原文地址:https://www.cnblogs.com/hnio/p/13336800.html
Copyright © 2011-2022 走看看