栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

docker常用命令使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

docker常用命令使用

Docker常用命令使用

1 容器生命周期管理

1.1 docker run1.2 docker start/stop/restart1.3 docker kill1.4 docker pause/unpause1.5 docker exec1.6 docker rm 2 容器操作

2.1 docker ps2.2 docker inspect2.3 docker logs-查看docker容器日志2.4 docker export 2.5 docker port 3 本地镜像管理

3.1 docker images3.2 rmi3.3 docker build3.4 docker save3.5 docker load

1 容器生命周期管理 1.1 docker run

  • run命令用于运行一个新容器
    # docker run语法
    docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
    
    OPTIONSDescription
    -d 后台运行容器,并返回容器ID
    –name 为容器指定一个名称    —name 容器名称   或   —name=容器名称 (两个 -  )
    -p 指定端口映射,格式为:主机(宿主)端口:容器端口  或  对外暴露端口:容器(项目)端口
    -m设置容器使用内存最大值
    -i以交互模式运行容器,通常与 -t 同时使用
    -t为容器重新分配一个伪输入终端,通常与 -i 同时使用
    1.2 docker start/stop/restart

  • 启动、停止、重启容器
    # 语法:
    # 启动容器
    docker start [OPTIONS] ConTAINER [CONTAINER...]
    # 停止容器
    docker stop [OPTIONS] ConTAINER [CONTAINER...]
    # 重启容器
    docker restart [OPTIONS] ConTAINER [CONTAINER...]
    
    1.3 docker kill

  • 强制终止容器
    # 语法
    docker kill [OPTIONS] ConTAINER [CONTAINER...]
    # -s :向容器发送一个信号
    

    杀掉运行中的容器tomcat(指定容器名称)
            docker kill -s KILL tomcat

    杀掉运行中的容器(指定容器id)
            docker kill -s kill 3a5b

    1.4 docker pause/unpause

  • 暂停、恢复所有容器进程
    # 语法
    # 1.暂停容器中所有的进程
    docker pause ConTAINER [CONTAINER...]
    
    # 1.恢复容器中所有的进程
    docker unpause ConTAINER [CONTAINER...]
    

    暂停数据库容器mysql;提供服务
            docker pause mysql
    恢复数据库容器 mysql提供服务
            docker unpause mysql

    1.5 docker exec

  • 在运行的容器中执行命令(一般是进入容器内的bash)
    # 语法
    docker exec [OPTIONS] ConTAINER COMMAND [ARG...]
    
    -d :分离模式: 在后台运行
    
    -i :即使没有附加也保持STDIN 打开
    
    -t :分配一个伪终端
    

    进入docker里面的mysql(伪终端,exit退出,不影响正常运行)
      docker exec -it mysql bash
      mysql -uroot -p
      输入mysql的密码即可

    1.6 docker rm

  • 删除一个或多个容器,默认只能删除非运行状态的容器

  •   -f参数可以强制删除(非强制,需先docker stop,后docker rm)
    # 语法 
    docker rm [OPTIONS] ConTAINER [CONTAINER...]
    
    -f :通过 SIGKILL 信号强制删除一个运行中的容器。
    
    -l :移除容器间的网络连接,而非容器本身。
    
    -v :删除与容器关联的卷。
    

    删除多个容器
        docker rm CONTAINER_id1 CONTAINER_id2
    删除全部容器
        docker rm -f ($docker ps -aq)

    2 容器操作 2.1 docker ps

  • 列出容器相关信息
    OPTIONSDescription
    -a 参数可以查看所有状态的容器
    -s 显示总的文件大小
    -f根据条件过滤显示的内容
    –format指定返回值的模板文件
    -l显示最近创建的容器
    -n列出最近创建的n个容器
    –no-trunc不截断输出
    –q静默模式,只显示容器编号

    docker ps # 默认是查看,正在运行的docker容器

    2.2 docker inspect

  • 用于查看容器的配置信息,包含容器名、环境变量、运行命令、主机配置、网络配置和数据卷配置等
    # 语法  
    docker inspect [OPTIONS] CONTAINER|IMAGE|TASK
    
    -f :指定返回值的模板文件
    
    -s :显示总的文件大小
    
    --type :为指定类型返回JSON
    
    # 获取容器mysql的信息
    docker inspect mysql
    
    2.3 docker logs-查看docker容器日志

  • 用于查看容器的日志,它将输出到标准输出的数据作为日志输出到docker logs命令的终端上。常用于后台型容器
    $ docker logs [OPTIONS] ConTAINER
      Options:
            --details        显示更多的信息
        -f, --follow         跟踪实时日志
            --since string   显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
            --tail string    从日志末尾显示多少行日志, 默认是all
        -t, --timestamps     显示时间戳
            --until string   显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)
    

    实例:

    # CONTAINER_ID:可以是容器完整id或容器名称
    # 查看指定时间后的日志,只显示最后100行
    docker logs -f -t --since="2022-02-08" --tail=100 CONTAINER_ID
    
    # 查看最近30分钟的日志:
    docker logs --since 30m CONTAINER_ID
    
    # 查看某时间之后的日志:
    docker logs -t --since="2022-02-08T13:23:37" CONTAINER_ID
    
    # 查看某时间段日志:
    docker logs -t --since="2022-02-08T13:23:37" --until "2022-02-09T12:23:37" CONTAINER_ID
    
    2.4 docker export

  • 将容器打包,导出为tar文件格式
    # 语法
    docker export [OPTIONS] ConTAINER
    
    实例:将id为746300e14aa4的容器按日期保存为tar文件
    docker export -o mysql-`date +%Y%m%d`.tar 746300e14aa4
    
    ls mysql-`date +%Y%m%d`.tar      >>     mysql-20211228.tar
    
    2.5 docker port

  • 输出容器与宿主机端口映射的信息
    语法: docker port ConTAINER [PRIVATE_PORT[/PROTO]]
    实例:查看容器mysql的端口映射情况。
    
    docker port mysql
    >>>		 3306/tcp -> 0.0.0.0:3001
    
    3 本地镜像管理 3.1 docker images

  • 列出本地所有的镜像
    语法: docker images [OPTIONS] [REPOSITORY[:TAG]]
    
    -a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);
    
    --digests :显示镜像的摘要信息;
    
    -f :显示满足条件的镜像;
    
    --format :指定返回值的模板文件;
    
    --no-trunc :显示完整的镜像信息;
    
    -q :只显示镜像ID
    
    # 默认显示所有容器,(一般情况下)相当于docker images -a
    docker images
    
    3.2 rmi

  • 删除一个或多个镜像
    # 语法
    docker rmi [OPTIONS] [IMAGE...]
    
    -f :强制删除;
    
    --no-prune :不移除该镜像的过程镜像,默认移除;
    
    docker rmi -f ($docker images -aq)删除全部镜像
    docker rmi -f mysql   删除mysql镜像
    
    docker image rm mysql    一次只能删除一个镜像
    
    3.3 docker build

  • 常用参数解释: docker build [OPTIONS] PATH | URL | -
    OPTIONSDescription
    -fDockerfile的名称(默认为“ PATH / Dockerfile”)
    -t,–tag指定构建的镜像名和 tag
    3.4 docker save

  • 将指定镜像保存成 tar 归档文件
    # 语法  
    docker save [OPTIONS] IMAGE [IMAGE...]
    
    实例:将镜像mysql生成mysql.tar文档
    docker save -o mysql.tar mysql
    ll mysql.tar
    
    3.5 docker load

  • 将打包的镜像导入
    # 语法
    docker load [OPTIONS]
    
    --input , -i : 指定导入的文件,代替 STDIN。
    
    --quiet , -q : 精简输出信息。
    
    
    # 实例
    # 导入一个打包好的的msyql镜像
    docker load < mysql.tar
    docker images
    

    文章参考文档

  • 转载请注明:文章转载自 www.mshxw.com
    本文地址:https://www.mshxw.com/it/762881.html
    我们一直用心在做
    关于我们 文章归档 网站地图 联系我们

    版权所有 (c)2021-2022 MSHXW.COM

    ICP备案号:晋ICP备2021003244-6号