首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将带有初始化的docker运行命令转换为多容器k8s吊舱或组合。

将带有初始化的docker运行命令转换为多容器k8s吊舱或组合。
EN

Stack Overflow用户
提问于 2020-11-26 23:34:57
回答 2查看 243关注 0票数 0

我需要为k8s yaml配置一个容器。使用终端的docker run上的工作流如下所示:

代码语言:javascript
复制
docker run -v $(pwd):/projects \
             -w /projects \
             gcr.io/base-project/myoh:v1 init *myproject*

此命令创建一个名为myproject的目录。要完成工作流,我需要cd到myproject文件夹并运行:

代码语言:javascript
复制
docker run -v $(pwd):/project \
             -w /project \
             -p 8081:8081 \
             gcr.io/base-project/myoh:v1

知道如何将其转换为坞-组合或k8s荚/部署yaml吗?我已经试过了所有浮现在脑海中的东西,但都没有成功。

EN

回答 2

Stack Overflow用户

发布于 2020-11-27 01:50:32

无法将当前目录的绑定挂载转换为Kubernetes。无法将pod的文件系统连接回本地工作站。一个标准的Kubernetes安装程序有一个多节点安装,如果可以直接连接到一个节点(可能不是),您就无法预测一个吊舱将在哪个节点上运行,并且将代码复制到每个节点是很麻烦的,也很难维护。如果您使用的是像GKE这样的托管Kubernetes安装,那么集群自动分词器甚至可能会自动创建和删除节点,并且您将没有机会手动复制这些节点。

您需要将应用程序代码构建为自定义映像。它可以设置所需的WORKDIRCOPY代码以及RUN所需的任何安装命令。然后,您需要将其推送到映像存储库,如GCR。

代码语言:javascript
复制
docker build -t gcr.io/base-project/my-project:v1 .
docker push gcr.io/base-project/my-project:v1

一旦有了它,就可以创建一个最小的Kubernetes 部署来运行它。将您构建和推送的映像的GCR名称设置为其image:。您还需要一个服务来实现它的可访问性,即使是来自同一集群中的其他Pods。

票数 2
EN

Stack Overflow用户

发布于 2020-11-27 01:46:21

试试这个(未经测试的yaml,但你会明白的)

代码语言:javascript
复制
apiVersion: apps/v1
kind: Deployment
metadata:
  name: myoh-deployment
  labels:
    app: myoh
spec:
  replicas: 1
  selector:
    matchLabels:
      app: myoh
  template:
    metadata:
      labels:
        app: myoh
    spec:
      initContainers:
      - name: init-myoh
        image: gcr.io/base-project/myoh:v1
        command: ['sh', '-c', "mkdir -p myproject"]
      containers:
      - name: myoh
        image: gcr.io/base-project/myoh:v1
        ports:
        - containerPort: 8081
        volumeMounts:
        - mountPath: /projects
          name: project-volume
    volumes:
    - name: test-volume
      hostPath:
        # directory location on host
        path: /data
        # this field is optional
        type: Directory
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65030419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档