首页 > 编程语言 >容器化开发_02_Docker判断程序是否起来?Docker定位容器错误?

容器化开发_02_Docker判断程序是否起来?Docker定位容器错误?

时间:2022-10-29 19:35:42浏览次数:48  
标签:02 容器 container id linux Docker docker 端口号


文章目录

  • ​​问题:虚拟化如何测试linux某个程序是否起来了?​​
  • ​​问题:docker容器化如何测试容器中某个程序是否起来了?​​
  • ​​问题:当docker容器能起来,如何定位容器错误?​​
  • ​​问题:当docker容器起不来,既没有有效日志(docker logs container-id),又无法进入容器单独调用执行(因为docker没起来,所以无法docker exec -it xxx bash进入),如何定位容器错误?​​

问题:虚拟化如何测试linux某个程序是否起来了?

问题:虚拟化如何测试linux某个程序是否起来了?
回答:
(1) 查看进程 ps -ef | grep 程序名
(2) 查看端口占用 netstat -nlpt | grep 端口号
(3) curl http://127.0.0.1:端口号/

问题:docker容器化如何测试容器中某个程序是否起来了?

问题:docker容器化如何测试容器中某个程序是否起来了?
回答:
(1) docker容器内,执行进程 ps -ef | grep 程序名
(2) docker容器内,执行curl http://127.0.0.1:端口号/
(3) linux上,执行curl http://127.0.0.1:映射linux端口号/

注意1:docker容器里面可能无法使用 netstat 命令查看端口占用
注意2:docker run 命令中 -p linux端口号:容器端口号

问题:当docker容器能起来,如何定位容器错误?

问题:当docker容器能起来,docker容器化报错排查方式?如何定位容器错误?
回答:
(1) docker ps | grep xxx 第一列就是 container-id,然后 docker logs container-id 查看日志
(2) docker exec -it container-id bash/sh 进入容器,先查看的文件或脚本是否都存在指定docker容器中的指定目录,然后单独调用执行需要启动的 脚本(如./start.sh)或jar包(如 java -jar xxx.jar) 包,看是否能执行,看执行之后的日志。

问题:当docker容器起不来,既没有有效日志(docker logs container-id),又无法进入容器单独调用执行(因为docker没起来,所以无法docker exec -it xxx bash进入),如何定位容器错误?

问题:当docker容器起不来,既没有有效日志(docker logs container-id),又无法进入容器单独调用执行(因为docker没起来,所以无法docker exec -it xxx bash进入),如何定位容器错误?
回答:找到dockerfile启动脚本,在 脚本 最后添加一行 while true; do echo “hello”; done; 这样,即使脚本无法起来,但是有这个死循环在,容器还是可以保持运行

注意1:是在启动脚本start.sh 最后加上这个,不是在dockerfile里面加这个,否则没完没了,镜像都做不出来了 RUN while true; do echo “hello”; done;
注意2:仅仅适用于 脚本sh ,不适用于 jar 包


标签:02,容器,container,id,linux,Docker,docker,端口号
From: https://blog.51cto.com/u_15287666/5806460

相关文章

  • 2022-2023-1 20221326《计算机基础与程序设计》第九周学习总结
    班级链接:https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP作业要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08作业目标:操作系统责任、内存与进程管理、......
  • 米联客2022年度双十一活动促销通知!
    双十一欢乐购!米联客天猫商城和京东商城狂欢15日!2022.10.28-2022.11.11店铺推出满减优惠券!领券下单享优惠!全店满1000减50,满2000减120满4000减250,满6000减360满8000减480,满10......
  • 【JEECG】Vue3-02Vite详细使用教程
    1、概要介绍1.1什么是Vite​​https://cn.vitejs.dev/​​新型前端构建工具,主要由两部分组成:一个开发服务器,基于原生ES模块提供内建功能,如模块热更新(HMR)。一套构建......
  • Kubernetes容器编排技术---Kubernetes基于kubeadm安装与配置(新)
      环境准备1、关闭防火墙和selinux2、配置docker和kubernetes镜像源docker源#step1:安装必要的一些系统工具sudoyuminstall-yyum-utilsdevi......
  • 【THUWC2020】Day2T2(dfs树,DP,线段树合并)
    对于每一个点\(u\),我们先找到满足右述条件的深度最小的\(u\)祖先\(f\)并记这个深度最小的祖先的深度为\(dp(u)\):\(f\)能只通过除了树上\([f,u]\)路径所包含的边之......
  • 【1029】
     【LeetCode每日一题】1773.统计匹配检索规则的物品数量给你一个数组 items ,其中 items[i]=[typei,colori,namei] ,描述第 i 件物品的类型、颜色以及名称。另......
  • SpringMVC_day02
    SpringMVC_day02今日内容完成SSM的整合开发能够理解并实现统一结果封装与统一异常处理能够完成前后台功能整合开发掌握拦截器的编写1,SSM整合前面我们已经把Myba......
  • [ACTF2020 新生赛]Exec 1
    [ACTF2020新生赛]Exec1下午写了这个,看了别人的解题过程,还是不太能理解。  题目有可能是sql注入,也可能是命令执行漏洞。输入ping127.0.0.1;ls直接显示index.php......
  • 玩客云刷入armbian(2022-08-14亲测)
    0.1使用AmlBurnTool软件烧录首选底包至固件。烧录完成后断开玩客云电源备用。(靠近hdmi的那个口子。)0.2使用rufus软件将emmc固件写入U盘。0.3写入成功后,先将U盘插......
  • Git 02: git管理码云代码仓库 + IDEA集成使用git
    Git项目搭建创建工作目录与常用指令工作目录(WorkSpace)一般就是你希望Git帮助你管理的文件夹,可以是你项目的目录,也可以是一个空目录,建议不要有中文。日常使用只要记住......