【问题标题】:Docker compose up error: container-linux.go: 348Docker 撰写错误:container-linux.go: 348
【发布时间】:2019-01-27 12:36:23
【问题描述】:

当我输入“docker-compose up”时,我得到了这个错误: 启动 elasticsearch-1 ... 错误

错误:对于 elasticsearch-1 无法启动服务 elasticsearch-1: b'OCI 运行时创建失败:container_linux.go:348:正在启动 容器进程导致“process_linux.go:402:容器初始化导致 \"rootfs_linux.go:58: 挂载 \\\"/c/Users/user/Desktop/data/elasticsearch.yml\\\" 到 rootfs \\\"/mnt/sda1/var/lib/docker/aufs/mnt/3ec70a7ad26a47f6537aed2ac091eb2507dfb4de983183b0e669832229f948d7\\\" 在 \\\"/mnt/sda1/var/lib/docker/aufs/mnt/3ec70a7ad26a47f6537aed2ac091eb2507dfb4de983183b0e669832229f948d7/usr/share/elasticsearch/config/elasticsearch.yml\\\" 导致\\\"不是目录\\\"\"":未知:您是否尝试 将目录挂载到文件上(反之亦然)?检查是否指定 主机路径存在并且是预期的类型'

Docker-compose.yml 包含以下内容:

发件人:http://blog.sandeepchivukula.com

elasticsearch-1:
     image: elasticsearch
     container_name: elasticsearch-1
     ports:
        - "9200:9200"
        - "9300:9300"
     volumes:
        - ./data/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
     command: elasticsearch

kibana-frontend:
     image: kibana:latest
     container_name: kibana-frontend
     ports:
        - "5601:5601"
     links:
       - elasticsearch-1:elasticsearch

你能帮我解决这个错误吗? 任何帮助将不胜感激 提前谢谢你

【问题讨论】:

    标签: docker elasticsearch


    【解决方案1】:

    从 GIT 中克隆(或下载 ZIP)整个项目并在项目文件夹中启动 docker:

    #git clone https://github.com/sandeep/photosearch/?utm_source=sandeepchivukula.com&utm_medium=blog&utm_campaign=photosearch
    #cd photosearch
    #docker compose up
    

    【讨论】:

    • 我已将文件 docker-compose.yml 放在 destkop 上,我右键单击并选择“Git Bash Here”,然后我只需输入“docker compose up”,我得到了错误
    • 在此之后,我注意到桌面上创建了一个名为“data”的新文件夹,其中包含一个名为“elasticsearch.yml”的文件夹,但该文件夹为空
    • 非常感谢您的回答,但不明白我应该在哪里指定您提到的文件夹路径。你能帮我更多吗?
    • 这是我为实现项目而关注的链接:google.com.lb/url?sa=t&source=web&rct=j&url=http://…
    • 您需要在本地机器中有一些名为 elasticsearch.yml 的文件...如果您没有此文件,请注释这 2 行并重试...您使用的是哪个 docker 映像? volumes: - ./data/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
    【解决方案2】:

    我今天也遇到了同样的问题,我在GitHub Thread 中找到了适合我的情况的解决方案:

    原因:我今天不得不更改我的 Windows 密码
    解决方案:进入 Docker 设置 -> 共享驱动器,取消选择我的驱动器(+ 应用),重新启动 Docker 应用程序,然后重新选择(+ 应用)后错误停止。

    向 danielcgithub 致敬!

    【讨论】:

      【解决方案3】:

      您不能在单个文件上绑定卷。

      要么绑定整个目录:

      elasticsearch-1:
           image: elasticsearch
           container_name: elasticsearch-1
           ports:
              - "9200:9200"
              - "9300:9300"
           volumes:
              - ./data/:/usr/share/elasticsearch/config/
           command: elasticsearch
      

      或者您可以使用docker configs(请参阅更多文档here):

      elasticsearch-1:
           image: elasticsearch
           container_name: elasticsearch-1
           ports:
              - "9200:9200"
              - "9300:9300"
           configs:
              - source: elasticsearch_config
                target: /usr/share/elasticsearch/config/elasticsearch.yml
           command: elasticsearch
      
      configs:
           elasticsearch_config:
               file: ./data/elasticsearch.yml
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-20
        • 2018-04-26
        相关资源
        最近更新 更多