amazon-web-services - 尝试在 AWS 上启动时,docker-compose 返回错误
问题描述
我想将我的服务器部署到 AWS EC2 实例。当我在 ssh 控制台中输入“sudo docker-compose up”时,出现以下错误:
错误:对于 nginx 无法启动服务 nginx:OCI 运行时创建失败:container_linux.go:345:启动容器进程导致“process_linux.go:430:容器初始化导致\”rootfs_linux.go:58:安装\\“/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
成为一个文件。
推荐阅读
- python - 无法导入 PyQt5.QtWebEngineWidgets
- open-policy-agent - Rego:如何指定不具有多个条件中的任何一个
- google-cloud-dataflow - 使用 ParDo 遵循不同的变换 - Apache Beam
- java - 我应该如何设计 Java 类?
- javascript - puppeteer 的问题,array.from 不显示对象
- duplicates - 在 SQL Server 管理器中删除每个帐户 NO 的重复项
- java - 如何在java中添加动态值作为对象字段名称?
- javascript - 部署到 IIS 7.5 服务器的 React/dotnetcore 3.1 mvc 应用程序正确加载,但对 API 的 javascript 调用每个返回 index.html
- angular - 无法在 Angular 8 上使用 HttpHeaders 定义自定义标头
- javascript - HTML & Javascript - 选择下拉菜单选项时显示文本