23/01/2021 - AWS, DOCKER
Bu örneği kullanırsanız, yerel ortamınızda çalışan bir AWS Localstack Docker örneğiniz olacaktır. Bu, bir AWS hesabınız olmadan AWS komutlarını veya uygulamalarını test etmenize olanak tanır. Hepsi yerel ortamınızda olur.
Bu, eu-west-1
bölgesinde çalışan s3
hizmeti için yalnızca basit bir örnek kurulumdur. Eğer "volume" ile ilgili bir hata alırsanız, dokümantasyona bakın. Bu, Mac OS için sorunsuz çalışıyor.
version: "2.1"
services:
localstack:
image: "localstack/localstack"
container_name: "localstack"
ports:
- "4566-4599:4566-4599"
environment:
- DEBUG=1
- DEFAULT_REGION=eu-west-1
- SERVICES=s3
- DATA_DIR=/tmp/localstack/data
- DOCKER_HOST=unix:///var/run/docker.sock
volumes:
- "/tmp/localstack:/tmp/localstack"
- "/var/run/docker.sock:/var/run/docker.sock"
Container yeniden başlatmalar arasında takılırsa, yukarıdakinin yerine aşağıdaki sürümü kullanın ve her yeniden başlatmadan önce rm -rf tmp/
komutunu çalıştırın.
version: "3.8"
services:
localstack:
image: "localstack/localstack"
container_name: "localstack"
ports:
- "4566-4599:4566-4599"
environment:
- DEBUG=1
- DEFAULT_REGION=eu-west-1
- SERVICES=lambda
- DATA_DIR=/tmp/localstack/data
- DOCKER_HOST=unix:///var/run/docker.sock
- LAMBDA_EXECUTOR=docker
- HOST_TMP_FOLDER=./tmp/localstack
volumes:
- "./tmp/localstack:/tmp/localstack"
- "/var/run/docker.sock:/var/run/docker.sock"
Çalıştırdıktan sonra, container aşağıda gösterildiği gibi görünecektir.
CONTAINER ID IMAGE COMMAND PORTS NAMES
600094dd55c1 localstack/localstack "docker-entrypoint.sh" 0.0.0.0:4566-4599->4566-4599/tcp, 8080/tcp localstack
http://localhost:4566
adresini ziyaret ettiğinizde {"status": "running"}
çıktısını alacaksınız. Aktifleştirilen tüm APIler (bu örnekte s3
) edge service port 4566
'dan ulaşılabilir.
aws
komutunun sisteminizde kurulu olduğunu varsayıyorum. Localstack kurulumumuza özgü bir profil oluşturalım.
$ aws configure --profile localstack
AWS Access Key ID [None]: test
AWS Secret Access Key [None]: test
Default region name [None]: eu-west-1
Default output format [None]:
Oluşturulup oluşturulmadığını onaylayın.
$ cat ~/.aws/config
[profile localstack]
region = eu-west-1
$ cat ~/.aws/credentials
[localstack]
aws_access_key_id = test
aws_secret_access_key = test
Terminalde komuta profil eklemelisiniz. Örnek: $ aws --profile localstack
. Uygulamanızda, aşağıda gösterildiği gibi bir yapılandırma kullanabilirsiniz.
aws.Config{
Address: "http://localhost:4566",
Region: "eu-west-1",
Profile: "localstack",
ID: "test",
Secret: "test",
}