2017-07-25 81 views
-1

最近开始在Docker和kubernetes上工作。 我遇到了一个我实际上并没有完全理解的问题。Docker镜像没有部署(保持终止)在本地kubernetes

事情是当我执行我的svc.yaml(服务)和rc.yaml(复制控制器)豆荚创建,但其状态终止。

我试图通过使用命令

docker ps -a

954c3ee817f9本地主机检查失败的可能原因是:5000/HelloService的
“/ bin/sh的-c ./startSe” 2分钟前退出(127)2分钟 前
k8s_HelloService.523e3b04_HelloService-64789_default_40e92b63-707a-11e7-9b96-080027f96241_195f2fee

然后试图运行 docker run -i -t localhost:5000/HelloService

/bin/sh的:./startService.sh:找不到

什么是可能的原因我得到这些错误。

泊坞文件:

FROM alpine:3.2 
VOLUME /tmp 
ADD HelloService-0.0.1-SNAPSHOT.jar app.jar 
VOLUME /etc 
ADD /etc/ /etc/ 
ADD startService.sh /startService.sh 
RUN chmod 700 /startService.sh 
ENTRYPOINT ./startService.sh 

startService.sh

#!/bin/sh 

touch /app.jar 

java -Djava.security.egd=file:/dev/./urandom -Xms256m -Xmx256m -jar /app.jar 

此外,我想知道是否有任何具体的方法可以让我从kubernetes访问日志终止荚?

更新: 下面命令运行

kubectl describe pods HelloService-522qw 

24S 24S 1 {默认调度}正常计划成功
分配HelloService的-522qw到ssantosh.centos7 17S 17S 1 {kubelet ssantosh.centos7 } spec.containers {HelloService}正常创建创建 容器与码头ID b550557f4c17;安全性:[=的Seccomp不受限制]
17S 17S 1 {kubelet
ssantosh.centos7} spec.containers {HelloService的}正常启动开始 与搬运工ID容器b550557f4c17 18S 16S 2 {kubelet
ssantosh.centos7} spec.containers { HelloService的}正常拉动拉 图像 “本地主机:5000/HelloService的” 18S 16S 2 {kubelet
ssantosh.centos7} spec.containers {HelloService中}普通成功拉 被拉图像 “本地主机:5000/HelloService的” 15秒15秒1 {kubelet
ssantosh.centos7} spec.containers {HelloService} Normal Created Created 容器与码头标识d30b10211b1b;安全:[seccomp = unconfined]
14s 14s 1 {kubelet
ssantosh.centos7} spec。集装箱{} HelloService的正常启动开始 与搬运工人ID d30b10211b1b 12S 11S容器2 {kubelet
ssantosh.centos7} {spec.containers} HelloService的警告退避的退避 重启失败搬运工容器12S 11S 2 {kubelet
ssantosh.centos7 }警告FailedSync错误同步荚,跳过: 未能 “StartContainer” 为 “HelloService的” 与CrashLoopBackOff:
“退避10S重新起动失败容器= HelloService的
荚= HelloService的-522qw_default(1e951b45-7116-11e7-9b96- 080027f96241)“

+0

总是好的局部先在某种形式测试图像。 – Grimmy

回答

0

问题是没有Java作为高山形象的一部分。

所以修改了

FROM alpine:3.2 

FROM anapsix/alpine-java 
0

你需要在机器上的jdk还需要更新Dockerfile,取出。 startService.sh命令的前面。像下面一样

ENTRYPOINT /startService.sh 

这将修复此错误消息。

/bin/sh的:./startService.sh:找不到

+0

这没有帮助。我结束了使用CMD和java命令来启动服务。 –

相关问题