localstack docker提供的错误权限被拒绝:'/tmp/localstack/server.test.pem.key';

localstack docker提供的错误权限被拒绝:'/tmp/localstack/server.test.pem.key';,docker,mocking,ubuntu-18.04,docker-machine,localstack,Docker,Mocking,Ubuntu 18.04,Docker Machine,Localstack,在我的Ubuntu18机器上,我无法运行localstack的最新docker映像。 即使结束消息显示为“就绪”,我仍然无法使用以下命令访问它 awslocal --endpoint-url=http://localhost:4575 sns list-topics Could not connect to the endpoint URL: "http://localhost:4575/" docker run localstack/localstack还显示一个错误: [Errno 13

在我的Ubuntu18机器上,我无法运行localstack的最新docker映像。 即使结束消息显示为“就绪”,我仍然无法使用以下命令访问它

awslocal --endpoint-url=http://localhost:4575 sns list-topics

Could not connect to the endpoint URL: "http://localhost:4575/"
docker run localstack/localstack还显示一个错误: [Errno 13]权限被拒绝:'/tmp/localstack/server.test.pem.key'


您应该授予localstack进程在
tmp
文件夹中写入的权限

将以下行添加到localstack的
docker compose.yml
文件:

   tmpfs:
  - /tmp/localstack:exec,mode=600
如本例所示:

version: '3.7'
services:
  localstack:
    image: localstack/localstack
    container_name: localstack
    ports:
      - "4574:4574"
    environment:
      - SERVICES=lambda
      - LAMBDA_EXECUTOR=docker
      - DOCKER_HOST=unix:///var/run/docker.sock
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
    tmpfs:
      - /tmp/localstack:exec,mode=600

其中,
mode=600
是允许读写的八进制模式。

如果使用的是
awslocal
,则无需指定
--端点url
version: '3.7'
services:
  localstack:
    image: localstack/localstack
    container_name: localstack
    ports:
      - "4574:4574"
    environment:
      - SERVICES=lambda
      - LAMBDA_EXECUTOR=docker
      - DOCKER_HOST=unix:///var/run/docker.sock
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
    tmpfs:
      - /tmp/localstack:exec,mode=600