docker로 돌리는 localstack S3에 컨테이너가 올라가면 bucket을 만들어주는 스크립트를 자동으로 실행시키고 싶었다.
[직접 컨테이너에 접근해서 버킷 생성하는 과정이 너무 귀찮다.]
아래는 필요한 준비물이다.
버킷 생성
awslocal s3api create-bucket --bucket [bucket name]
버킷 확인
awslocal s3api list-buckets
검색을 해보니 /docker-entrypoint-initaws.d/
경로에 스크립트 파일을 넣어두면 알아서 실행시켜준다고 한다.
아래처럼 /docker-entrypoint-initaws.d
경로에 마운트 시켜준다.
이렇게 하면 컨테이너가 올라가고 확인하면 init-aws.sh
가 해당 경로에 존재한다.
volumes:
- ./script/create-local-s3-bucket.sh:/docker-entrypoint-initaws.d/init-aws.sh
하지만 스크립트는 돌아가지 않는다.
인터넷에 굉장히 많은 내용들이docker-entrypoint-initaws.d
넣어야 한다고 나오지만
공식 사이트에서는 localstack 수명주기마다 실행시키고 싶은 스크립트의 위치를 다르게 알려준다.
최신 버전은 역시 공식 사이트에서 확인하자
volumes:
- ./script/create-local-s3-bucket.sh:/etc/localstack/init/ready.d/init-aws.sh