首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在同一pod中的两个容器之间共享文件夹内容

在同一pod中的两个容器之间共享文件夹内容
EN

Stack Overflow用户
提问于 2017-11-14 01:33:44
回答 1查看 1.2K关注 0票数 0

我有一个包含两个容器的Pod,Nginx和Rails。我想将rails中的公共文件夹共享到nginx容器中,但是公共文件夹中已经包含了文件,我不希望该文件夹为空。

有没有共享卷的方法?

我试过了:

代码语言:javascript
复制
- name: rails-assets
    hostPath:
      path: /app/public

但是我得到了这个错误:

代码语言:javascript
复制
Error: failed to start container "nginx": Error response from daemon: {"message":"error while creating mount source path '/app/public': mkdir /app: read-only file system"}
Error syncing pod
Back-off restarting failed container

谢谢,

EN

回答 1

Stack Overflow用户

发布于 2017-11-15 16:06:57

我修复了在rails应用上创建共享卷shared-assets/的问题。在rails dockerfile上,我使用bash脚本创建了一个入口点,用于复制shared-assets/文件夹中的public/文件。这样我就可以在Nginx容器上看到文件了。

代码语言:javascript
复制
---
kind: Deployment
apiVersion: apps/v1beta1
metadata:
  name: staging-deployment
spec:
  replicas: 1
  revisionHistoryLimit: 2
  template:
    metadata:
      labels:
        app: staging
    spec:
      containers:
      - name: staging
        image: some/container:v5
        volumeMounts:
        - mountPath: /var/run/
          name: rails-socket
        - mountPath: /app/shared-assets
          name: rails-assets
      - name: nginx
        image: some/nginx:latest
        volumeMounts:
        - mountPath: /var/run/
          name: rails-socket
        - mountPath: /app
          name: rails-assets
      imagePullSecrets:
      - name: app-backend-secret
      volumes:
      - name: rails-socket
        emptyDir: {}
      - name: rails-assets
        emptyDir: {}

和脚本入口点:

代码语言:javascript
复制
cp -r /app/public/ /app/shared-assets/
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47270229

复制
相关文章

相似问题

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