Written by
Poogle
on
on
DynamoDB 학습(1) - Docker, AWS cli
DynamoDB 학습(1) - Docker, AWS cli
Docker 설치
- Ubuntu 20.04.3 LTS 기준
참고: docker docs
Uninstall old versions
$ sudo apt-get remove docker docker-engine docker.io containerd runc
Set up the repository
-
- Update the apt package index and install packages to allow apt to use a repository over HTTPS:
$ sudo apt-get update
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release
- Add Docker’s official GPG key:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
- Use the following command to set up the stable repository. To add the nightly or test repository, add the word nightly or test (or both) after the word stable in the commands below. Learn about nightly and test channels.
# x86_64 / amd64
$ echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Install Docker Engine
- Update the apt package index, and install the latest version of Docker Engine and containerd, or go to the next step to install a specific version:
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
- To install a specific version of Docker Engine, list the available versions in the repo, then select and install:
- 따로 설정하지는 않았음
$ apt-cache madison docker-ce
- Verify that Docker Engine is installed correctly by running the hello-world image.
$ sudo docker run hello-world
AWS-CLI
참고: aws 공식문서
- AWS 명령줄 인터페이스(CLI)는 AWS 서비스를 관리하는 통합 도구입니다. 도구 하나만 다운로드하여 구성하면 여러 AWS 서비스를 명령줄에서 제어하고 스크립트를 통해 자동화할 수 있습니다.
설치
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
$ sudo ./aws/install
버전 확인
aws --version
설정
aws configure
: 빠른 설정(access_key, secret_key, region 설정)aws configure list
: 설정 리스트 확인- IAM User 만들고 해당 정보 콘솔에서 확인
Docker CLI 명령어
실행중인 컨테이너 ID 확인
docker ps
컨테이너 중지
docker stop {container-id}
컨테이너 제거
docker rm {container-id}
Docker w. DynamoDB
포트 8000에 로컬 DynamoDB 띄우기
docker pull amazon/dynamodb-local
docker run -p 8000:8000 amazon/dynamodb-local -jar DynamoDBLocal.jar -inMemory -sharedDb
- -p: 포트
- -inMemory: DB를 종료할 때 DB의 모든 데이터가 사라짐
- -sharedDb: request region 달라도 같은 공간 사용, 없으면 connection마다 database를 가지게 되어 다른 client인 경우 database를 공유하지 않음
쉘 확인
http://localhost:8000/shell/
DynamoDB 로컬 사용
AWS CLI로 조작
테이블 생성
aws dynamodb create-table \
--table-name 테이블 이름 \
--attribute-definitions \
AttributeName=속성 이름,AttributeType=속성 타입 \
... \
--key-schema \
AttributeName=속성 이름,KeyType=키 타입 \
... \
--provisioned-throughput \
ReadCapacityUnits=1,WriteCapacityUnits=1 \
--endpoint-url http://localhost:8000
테이블 확인
aws dynamodb list-tables \
--endpoint-url http://localhost:8000
aws dynamodb describe-table
--table-name 테이블 이름 \
--endpoint-url http://localhost:8000
테이블 지우기
aws dynamodb delete-table \
--table-name 테이블 이름 \
--endpoint-url http://localhost:8000
참고: awscli 공식문서