当前位置: 首页 > news >正文

外贸网站建设招聘2023年7月最新新闻摘抄

外贸网站建设招聘,2023年7月最新新闻摘抄,网站icp备案,网站建设合同书1. 问题 使用镜像alpine起个容器,使其保持后台运行,正常情况有如下的效果,可以发现容器保持运行状态。 [rootk8s-master helloWorld]# docker run -dit docker.io/alpine /bin/sh 8d39d7579d5e4f1a560aef16ba57ab5cae2506ea9105e21cbc0634…

1. 问题

使用镜像alpine起个容器,使其保持后台运行,正常情况有如下的效果,可以发现容器保持运行状态。

[root@k8s-master helloWorld]# docker run -dit  docker.io/alpine /bin/sh
8d39d7579d5e4f1a560aef16ba57ab5cae2506ea9105e21cbc06342a4d4fe17f
[root@k8s-master helloWorld]# docker ps
CONTAINER ID        IMAGE                     COMMAND             CREATED             STATUS              PORTS               NAMES
8d39d7579d5e        docker.io/alpine          "/bin/sh"           6 seconds ago       Up 5 seconds                            loving_shannon

但是有时候一些容器镜像按照上述方法却达不到预期效果。比如下面这个容器,一创建完就退出了。

[root@k8s-master helloWorld]# docker run -dit helloapp:v1 /bin/sh
8b654e4dc44c9a30544099bf360a4d410cfa81ad9bc14e73c0f384a166bf2420
[root@k8s-master helloWorld]# docker ps --all |grep 8b65
8b654e4dc44c        helloapp:v1                                           "./hello /bin/sh"        14 seconds ago      Exited (0) 13 seconds ago                                        fervent_hoover

那么问题出在哪个环节呢?

2. 分析

首先明确一个Docker容器的特性,docker容器运行必须有一个进程, 如果没有进程执行,容器认为空闲,就会自行退出
那么我们使用docker inspect <id>看看上述两个容器启动时分别执行了什么命令

  • 成功后台运行的容器
[root@k8s-master helloWorld]# docker inspect 938 |  head
[{"Id": "938cf5ba3fe61e30265e6b44b5493d6d9e60909f77dd4c72da6ee3395e593e55","Created": "2023-07-31T14:41:02.155416227Z","Path": "/bin/sh","Args": [],"State": {"Status": "running","Running": true,"Paused": false,
[root@k8s-master helloWorld]#

可以看到Path值对应的/bin/sh就是容器创建时执行的命令

  • 退出的容器
[root@k8s-master helloWorld]# docker inspect 8b654e4dc44c | head
[{"Id": "8b654e4dc44c9a30544099bf360a4d410cfa81ad9bc14e73c0f384a166bf2420","Created": "2023-07-31T16:49:46.95505723Z","Path": "./hello","Args": ["/bin/sh"],"State": {"Status": "exited",
[root@k8s-master helloWorld]#

可以看到Path对应的值是./helloArgs对应的值就是./hello的参数

现在问题基本明朗,就是docker run指定的/bin/sh并不是容器创建时真正执行的命令,而是作为了Path值的参数。当Path值对应的命令执行结束后,容器也就退出了

根本原因:
如果容器镜像制作时,DockerFile中通过ENTRYPOINT指定了容器运行时执行的命令,那么docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 中的COMMAND不生效,直接作为ARG

如果IMAGE后带多个参数,效果也是一样,全部作为了ARG

[root@k8s-master helloWorld]# docker run -dit helloapp:v1  /bin/sh first second
dc0f72e6a8c20915aa31fb325c25e32a0c7230e5596e8747cac3e5c147d47e49[root@k8s-master helloWorld]# docker inspect dc | head -12
[{"Id": "dc0f72e6a8c20915aa31fb325c25e32a0c7230e5596e8747cac3e5c147d47e49","Created": "2023-07-31T17:37:09.251912669Z","Path": "./hello","Args": ["/bin/sh","first","second"],"State": {"Status": "exited",

3. 解决方法

通过--entrypoint参数指定容器创建时执行的命令,覆盖DockerFile中指定的ENTRYPOINT
例如:

[root@k8s-master helloWorld]# docker run -dit --entrypoint /bin/sh helloapp:v1
f00a30b58cf15246ecec2e9089a96a1ebfe57110313f3e45e7b1cd6b12d04536
[root@k8s-master helloWorld]#
[root@k8s-master helloWorld]# docker inspect f0 | head
[{"Id": "f00a30b58cf15246ecec2e9089a96a1ebfe57110313f3e45e7b1cd6b12d04536","Created": "2023-07-31T17:42:52.001675371Z","Path": "/bin/sh","Args": [],"State": {"Status": "running","Running": true,"Paused": false,
[root@k8s-master helloWorld]#

补充:
如果通过指定--entrypoint还是不行,建议docker logs <id>检查下报错。如下面这个,就属于一些常见错误(指定的ARG不是–entrypoint对应的命令能执行的)

[root@k8s-master helloWorld]# docker run -dit --entrypoint /bin/sh helloapp:v1 today
edf83a787563a541cf53a0c0cf569307cc9f7f22e440ca0fb49980d23f181d11
[root@k8s-master helloWorld]#
[root@k8s-master helloWorld]# docker inspect edf | head -12
[{"Id": "edf83a787563a541cf53a0c0cf569307cc9f7f22e440ca0fb49980d23f181d11","Created": "2023-07-31T17:47:21.330346122Z","Path": "/bin/sh","Args": ["today"],"State": {"Status": "exited","Running": false,"Paused": false,
[root@k8s-master helloWorld]# docker logs edf
/bin/sh: can't open 'today': No such file or directory
[root@k8s-master helloWorld]#
http://www.tj-hxxt.cn/news/18600.html

相关文章:

  • 东莞做网站哪家公司好百度seo课程
  • 销售网站开发背景地推团队接单平台
  • 建设百度网站郑州seo哪家好
  • 徐州哪有做网站的怎样在百度上发表文章
  • 管理咨询公司的运作模式北京seo优化分析
  • 大学学校网站建设方案seo推广平台服务
  • 高端网站建设报价百度推广登录入口下载
  • 网站建设怎么付费推广手段有哪些
  • 做网站就上凡科建设南昌百度搜索排名优化
  • 专业的上海网站建设百度助手app下载安装
  • 个人网站备案通过做淘客百度官方网页版
  • 东莞网站建设优化排名2022年搜索引擎优化指南
  • 网站开发与应用专业昆山网站建设推广
  • 郑州网站建设网络推广短信营销
  • 东莞网站建设招聘网站seo优化公司
  • 家具做网站培训机构是干什么的
  • 网站视频建设网站系统
  • dw中怎样做网站链接seo的基本步骤包括哪些
  • 电商网站建设任务分解结构互联网项目推广
  • 为了同学都能访问网站如何做热词搜索排行榜
  • 做房产买卖哪些网站可以获客个人网页怎么做
  • 企业网站seo诊断报告石家庄seo关键词排名
  • 域名买了怎么做网站西点培训
  • 设计网免费seo技术公司
  • 网站动态和静态的区别企业网站建设原则是
  • 石家庄网站建设蓝龙百度风云榜官网
  • 机关网站源码医院线上预约
  • 来宾网站建设公司名风seo软件
  • 企业网站维护服务宁波seo网络推广主要作用
  • B2B网站建站系统天津做网站的网络公司