簡體   English   中英

嘗試在 AWS 上啟動時 docker-compose 返回錯誤

[英]docker-compose returns error when trying to start on AWS

我想將我的服務器部署到 AWS EC2 實例。 當我在 ssh 控制台中輸入“sudo docker-compose up”時,出現以下錯誤:

ERROR: for nginx Cannot start service nginx: OCI runtime create failed: container_linux.go:345: starting container process caused "process_linux.go:430: container init caused \"rootfs_linux.go:58: mounting \\"/home/ubuntu /site/nginx/default.conf\\" to rootfs \\"/var/lib/docker/overlay2/b24f64910c6ab7727a4cb08afac0d034bb759baa4bfd605466ca760359f411c2/merged\\" at \\"/var/lib/docker/overlay2/b24f64910c6ab7727a4cb08afac0d034bb759baa4bfd605466ca760359f411c2/merged/etc/ nginx/conf.d/default.conf\\" 導致 \\"not a directory\\"\\"": 未知:您是否嘗試將目錄掛載到文件上(反之亦然)? 檢查指定的主機路徑是否存在並且是預期的類型

這是我的 docker-compose.yml 文件:

version: '2'

networks:
    SRVR:

services:
    nginx:
        image: nginx:stable-alpine
        container_name: SRVR_nginx
        ports:
            - "8080:80"
        volumes:
            - ./code:/code
            - ./nginx/default.conf:/etc/nginx/conf.d/default.conf
            - ./nginx/logs:/var/log/nginx
        depends_on:
            - php
        networks:
            - SRVR

    php:
        build: ./php
        container_name: SRVR_php
        volumes:
            - ./code:/code
        ports:
            - "9000:9000"
        networks:
            - SRVR

相同的 docker-compose.yml 在我運行 Ubuntu 操作系統的本地計算機上運行良好。 EC2 實例還運行 Ubuntu 操作系統。

你的問題是./nginx/default.conf docker 將其識別為文件夾,並且您將/etc/nginx/conf.d/default.conf作為文件。

我太倉促了,不敢問。 這是正在發生的事情。 Nginx 容器需要手動創建“default.conf”文件。 如果不是,則啟動 nginx 服務器會創建一個名為“default.conf”的文件夾。 一旦我手動將原始的“default.conf”文件復制到適當的位置,一切似乎都工作正常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM