Localstack [Errno 8] Exec 格式错误:'/etc/localstack/init/ready.d/setup.sh'

问题描述 投票:0回答:1

我知道关于这个主题还有很多其他问题,但我已经尝试了所有建议都无济于事。

我运行的环境是 Windows 10 Professional。

设置.sh

#!/bin/bash

echo "Creating SQS queue"
awslocal sqs create-queue --queue-name my-queue

Localstack.Dockerfile

FROM localstack/localstack:3.2

COPY --chown=localstack localstack-scripts/setup.sh /etc/localstack/init/ready.d/setup.sh

RUN chmod u+x /etc/localstack/init/ready.d/setup.sh

docker-compose.yml

version: '3.4'

services:
  document-db:
    image: mysql:8.0
    container_name: document-db
    environment:
      MYSQL_ROOT_PASSWORD: "mysql"
      MYSQL_PASSWORD: "password"
      MYSQL_DATABASE: "document-db"
      MYSQL_USER: "user"
    volumes:
      - ./data:/var/lib/mysql
    ports:
      - "3306:3306"
  localstack:
    build:
      context: .
      dockerfile: /localstack-scripts/LocalStack.Dockerfile
    environment:
      - SERVICES=sqs,sns
      - AWS_DEFAULT_REGION=eu-west-2
    container_name: localstack
    ports:
      - "127.0.0.1:4566:4566"            # LocalStack Gateway
      - "127.0.0.1:4510-4559:4510-4559"  # external services port range

当我运行

docker-compose up
时,我收到以下错误:

localstack   | 2024-03-20T14:51:09.634 ERROR --- [  MainThread] localstack.runtime.init    : Error while running script Script(path='/etc/localstack/init/ready.d/setup.sh', stage=READY, state=ERROR): [Errno 8] Exec format error: '/etc/localstack/init/ready.d/setup.sh'
Gracefully stopping... (press Ctrl+C again to force)

我已确保

setup.sh
文件上的所有行结尾均为 LF,我什至使用 https://app.execeratics.com/LFandCRLFonline/?l=en 来转换文件,但无济于事。

在这一点上我已经很接近了,但到目前为止。

有什么指点吗?

docker docker-compose localstack
1个回答
0
投票

我最终通过从 WSL2 命令行创建我的

setup.sh
解决了这个问题。

echo '#!/bin/bash' > localstack-scripts/setup.sh
echo '' >> localstack-scripts/setup.sh
echo 'echo "Creating SQS queue"' >> localstack-scripts/setup.sh
echo 'awslocal sqs create-queue --queue-name my-queue' >> localstack-scripts/setup.sh

看来 https://app.execeratics.com/LFandCRLFonline/?l=en 并没有按照我希望的那样做。

© www.soinside.com 2019 - 2024. All rights reserved.