용량 파악하기
lightsail에서 플랜을 바꾸려면 스냅샷을 생성하고 새 인스턴스를 생성해야 한다. 메모리가 낮은 상태에서 docker를 올리면 인스턴스가 뻗어버리므로 로컬에서 먼저 도커 컨테이너를 띄워보고 얼마나 용량을 차지하는지 확인한다.
docker ps -a
CONTAINER ID IMAGE NAME COMMAND CREATED STATUS PORTS
c8c71bb80138 elasticsearch elastic_container "/bin/tini -- /usr/l…" 3 days ago Up 3 days 0.0.0.0:9200->9200/tcp, 9300/tcp
docker stats <실행중인 컨테이너 Name>
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
c8c71bb80138 elastic_container 1.10% 1.186GiB / 7.778GiB 15.25% 587MB / 445MB 146MB / 94MB 99
lightsail 플랜 선택
메모리 사용량 확인 후 적당한 플랜을 선택한다. lightsail에서 생성한 스냅샷으로 EC2 인스턴스를 생성할 수도 있다. EC2 인스턴스 비용과 lightsail을 비교해보고 더 나은 것을 선택한다. 나는 비슷한 사양에서 조금 더 저렴한 lightsail을 사용했다.
만약 기존에 생성한 인스턴스의 플랜을 바꾸려면 스냅샷을 생성한 후, 인스턴스를 새로 생성한다.
docker, docker-compose 설치
- install docker on ubuntu 공식문서 참고
- 설치 시 오류는 스크롤을 내려서 확인해보세요~
$ sudo apt-get update
# 디펜던시 추가
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release
# public key 등록
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
$ 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
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
# docker-compose 설치
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.28.6/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 설치 확인
$ docker -v
$ docker-compose -v
설치 오류 1: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY ...
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
설치 오류 2: https://download.docker.com/linux/ubuntu buster Release not found
1. sudo vi /etc/apt/sources.list
- deb [arch=amd64] https://download.docker.com/linux/ubuntu buster stable 에서 buster를 xenial로 변경
- https://download.docker.com/linux/ubuntu 에서 ubuntu가 debian으로 되어있다면 ubuntu로 변경
deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable
2. sudo vi /etc/apt/sources.list.d/docker.list
deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu xenial stable
3. sudo apt-get update
설치 오류 3: docker-ce : Depends: libseccomp2 (>= 2.4.0) but ... is to be installed
http://archive.ubuntu.com/ubuntu/pool/main/libs/libseccomp 에서 우분투를 위한 2.4 버전 이상의 libseccomp2을 설치한다. node.js lightsail은 ubuntu 16 또는 18버전을 사용한다.
curl -O http://archive.ubuntu.com/ubuntu/pool/main/libs/libseccomp/libseccomp2_2.4.3-1ubuntu4_amd64.deb
- 디패키징: sudo dpkg -i libseccomp2_2.4.3-1ubuntu4_amd64.deb
- 그 다음 다시 sudo apt-get install docker-ce docker-ce-cli containerd.io
'개발 이야기 > 실무 Recipe' 카테고리의 다른 글
가장 빠른 머신러닝 앱 배포하기 | fastapi, gunicorn, nginx 로 lightsail에 배포하기 (0) | 2021.04.14 |
---|---|
konlpy + fastapi Docker Image로 머신러닝 환경 구축하기 (0) | 2021.04.14 |
여러 개의 docker-compose 파일 사용하기 | multiple docker-compose files (0) | 2021.03.18 |
Zapier로 Google Form과 Slack 연동하기 | 구글 폼 응답 올 때마다 슬랙 알림 오게 하는 방법 (0) | 2021.03.06 |
github action cache 하기 | 매번 build 하신다고요? (0) | 2021.03.03 |