开发者社区 > 云原生 > 容器服务 > 正文

如何从现有的docker容器创建pod

我使用docker-compose.yml创建了一个docker容器,它在8085 / tcp上运行。现在我需要使用此容器创建一个pod并使用kubernetes进行部署。我使用.yaml文件来执行此操作但我收到CrashLoopBackOff错误。

$ docker ps
CONTAINER ID IMAGE STATUS PORTS NAMES
b155297cad73 wpt-rest_wptrestservice Up 4 hours 0.0.0.0:8085->8085/tcp wpt-rest_wptrestservice_1

$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b155297cad73 wpt-rest_wptrestservice "java -jar wpt-rest.…" 4 hours ago Up 4 hours 0.0.0.0:8085->8085/tcp wpt-rest_wptrestservice_1
现在我创建了一个wpt-pod.yml文件:

apiVersion: v1
kind: Pod
metadata:
name: wpt-pod
spec:
containers:

- name: wptrestservice

image: localhost:5000/local-openjdk:latest
ports:

  • containerPort: 8085
    但运行上面的.yaml文件后,我收到以下错误:

$ kubectl get pods
NAME READY STATUS RESTARTS AGE
wpt-pod 0/1 CrashLoopBackOff 2 35s

展开
收起
k8s小能手 2019-02-22 16:19:52 4595 0
2 条回答
写回答
取消 提交回答
  • 你需要将docker compose文件转换成kubernetes yaml,
    你可以使用kompose来做两个yml文件的转换,
    参考下面的步骤
    https://kubernetes.io/docs/tasks/configure-pod-container/translate-compose-kubernetes/

    2019-07-17 23:29:15
    赞同 展开评论 打赏
  • 整合最优质的专家资源和技术资料,问答解疑

    当kubernetes不是Abe拉动所需的图像来运行容器时,会出现imagepullbackoff错误。我看到你正在尝试从私人注册表中提取图像。如果需要从私有注册表中提取图像,则需要包含imagepullsecret。假设您的私人注册表已启用ssl

    您可以从pod共享日志吗?如果您无法获取日志,则描述pod并提供输出。你会得到一些线索,说明pod失败的原因

    2019-07-17 23:29:14
    赞同 展开评论 打赏

国内唯一 Forrester 公共云容器平台领导者象限。

相关电子书

更多
应用 Docker 进行持续交付:用技术改变交付路程 立即下载
从Docker到容器服务 立即下载
Docker@Alibaba——超大规模Docker化的实战经验 立即下载