我有一个简单的 docker 应用程序,可以通过以下方式在本地运行docker-compose up
,当我发送.yml
将文件发送给我的朋友,他们也能够在本地计算机上启动并运行它。但是,当我尝试将其部署在 Elastic Beanstalk 上时,我收到错误(具体来说,与error:open /var/pids/eb-docker-compose-log.pid: no such file or directory
,正如我将在下面展示的那样)。我尝试多次上传到 Elastic Beanstalk,但出现相同的错误。这是一个自定义应用程序,但它们与我尝试按照以下说明操作时遇到的错误相同https://docker-curriculum.com/#docker-on-aws
。这里是docker-compose.yml
对于我当前的应用程序:
version: "3"
services:
server:
image: mfatigati/shop-server
container_name: shop-server
ports:
- "4000:4000"
client:
image: mfatigati/shop-client
depends_on:
- server
ports:
- "3000:3000"
mfatigati/shop-server
and mfatigati/shop-client
都是 Node.JS 应用程序,即FROM node:16
在他们的Dockerfile
.
为了在 AWS 上部署它,我转到 EB 控制台,然后:
- 单击“创建应用程序”将我带到创建应用程序屏幕
- 选择“Docker”作为平台
- 选择“上传本地代码”,上传上述内容
.yml
file.
- 点击“创建应用程序”
根据注释here https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/single-container-docker-configuration.html,我认为这应该是我需要做的全部(也许我错了?),但每次我都会遇到错误eb.engine.log
文件。我粘贴了下面似乎相关的部分,因为它是唯一提到错误的部分,并且它还反映了 AWS GUI 控制台中显示的内容。主要问题似乎反映在关于error:open /var/pids/eb-docker-compose-log.pid: no such file or directory
:
2022/02/14 14:17:23.619888 [ERROR] update processes [cfn-hup eb-docker-events healthd eb-docker-compose-events eb-docker-compose-log docker] pid symlinks failed with error Read pid source file /var/pids/eb-docker-compose-log.pid failed with error:open /var/pids/eb-docker-compose-log.pid: no such file or directory
2022/02/14 14:17:23.619901 [ERROR] An error occurred during execution of command [app-deploy] - [Track pids in healthd]. Stop running the command. Error: update processes [cfn-hup eb-docker-events healthd eb-docker-compose-events eb-docker-compose-log docker] pid symlinks failed with error Read pid source file /var/pids/eb-docker-compose-log.pid failed with error:open /var/pids/eb-docker-compose-log.pid: no such file or directory
2022/02/14 14:17:23.619905 [INFO] Executing cleanup logic
2022/02/14 14:17:23.620005 [INFO] CommandService Response: {"status":"FAILURE","api_version":"1.0","results":[{"status":"FAILURE","msg":"Engine execution has encountered an error.","returncode":1,"events":[{"msg":"Instance deployment failed. For details, see 'eb-engine.log'.","timestamp":1644848243,"severity":"ERROR"}]}]}
任何见解将不胜感激!我在下面粘贴了一些屏幕截图,以防有帮助。
对应步骤2的GUI https://i.stack.imgur.com/L4AgD.png; 对应步骤3的GUI https://i.stack.imgur.com/66zca.png; 图形用户界面错误 https://i.stack.imgur.com/LXu6C.png