Docker镜像未在本地kubernetes

时间:2017-07-25 07:51:05

标签: docker kubernetes dockerfile

最近开始使用Docker和kubernetes。 我遇到了一个我完全不了解的问题。

事情就是当我执行我的svc.yaml(服务)并且rc.yaml(复制控制器)pod被创建但其状态被终止时。

我尝试使用命令

检查可能的失败原因

docker ps -a

  

954c3ee817f9 localhost: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:not found

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

Docker文件:

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 {default-scheduler}正常预定成功
  将HelloService-522qw分配给ssantosh.centos7 17s 17s 1 {kubelet   ssantosh.centos7} spec.containers {HelloService} Normal Created Created   容器与docker id b550557f4c17;安全性:[=的Seccomp潜水]
  17s 17s 1 {kubelet
  ssantosh.centos7} spec.containers {HelloService}正常开始启动   容器与docker id b550557f4c17 18s 16s 2 {kubelet
  ssantosh.centos7} spec.containers {HelloService}正常拉动   image" localhost:5000 / HelloService" 18s 16s 2 {kubelet
  ssantosh.centos7} spec.containers {HelloService}正常拉成功   pull image" localhost:5000 / HelloService" 15s 15s 1 {kubelet
  ssantosh.centos7} spec.containers {HelloService} Normal Created Created   容器与docker id d30b10211b1b;安全性:[=的Seccomp潜水]
  14s 14s 1 {kubelet
  ssantosh.centos7} spec.containers {HelloService}正常开始启动   容器与docker id d30b10211b1b 12s 11s 2 {kubelet
  ssantosh.centos7} spec.containers {HelloService}警告BackOff Back-off   重新启动失败的泊坞容器12s 11s 2 {kubelet
  ssantosh.centos7}警告FailedSync错误同步pod,跳过:   未能" StartContainer" for" HelloService"与CrashLoopBackOff:
  " Back-off 10s重启失败的容器= HelloService
  荚= HelloService的-522qw_default(1e951b45-7116-11e7-9b96-080027f96241)"

2 个答案:

答案 0 :(得分:0)

问题是没有java作为高山图像的一部分。

所以修改了

FROM alpine:3.2

FROM anapsix/alpine-java

答案 1 :(得分:0)

你需要在机器上使用jdk还需要更新Dockerfile,删除。 infront of startService.sh命令。如下所示

ENTRYPOINT /startService.sh 

这将修复此错误消息。

  

/ bin / sh:./ startService.sh:not found