Search

AWS LightSail에서 Docker 설치하기 | 설치 오류 해결

subtitle
LightSail X Docker
Tags
docker
aws
Created
2021/04/02
2 more properties

용량 파악하기

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
Shell
복사
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
Shell
복사

lightsail 플랜 선택

메모리 사용량 확인 후 적당한 플랜을 선택한다. lightsail에서 생성한 스냅샷으로 EC2 인스턴스를 생성할 수도 있다. EC2 인스턴스 비용과 lightsail을 비교해보고 더 나은 것을 선택한다. 나는 비슷한 사양에서 조금 더 저렴한 lightsail을 사용했다.
ec2 pricing → 18$/M
lightsail pricing
만약 기존에 생성한 인스턴스의 플랜을 바꾸려면 스냅샷을 생성한 후, 인스턴스를 새로 생성한다.

docker, docker-compose 설치

설치 시 오류는 스크롤을 내려서 확인해보세요~
$ 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
Shell
복사

설치 오류 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 -
Shell
복사

설치 오류 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 buster stable deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable
Shell
복사
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
Shell
복사
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
Shell
복사
디패키징: sudo dpkg -i libseccomp2_2.4.3-1ubuntu4_amd64.deb
그 다음 다시 sudo apt-get install docker-ce docker-ce-cli containerd.io