일단 나는 AWS 콘솔로 가입되어 있기에 여기서 lightsail을 찾아서 들어갔다. 간단한 가입 절차를 거친 다음(아마도 카드를 등록하는 절차인 듯 한데, 다음에 재가입할 때 제대로 포스팅해보겠다), Create instace로 내가 사용할 재원과 운영 체제를 고른다.
나는 리눅스 계열로 만들었다. 그 중 우분투 최신 버전으로 인스턴스를 구성했다.

SSH key를 등록하여 내 컴퓨터의 콘솔창(terminal)에서 원격 접속하여 이용할 수 있다. 방법은 ssh key gun을 이용하여 생성하거나, 이미 있다면 루트 디렉토리에 새 파일을 만들어 첨부하면 된다. cp ~/.ssh/id_ed25519.pub ~ 이 명령어를 통해 pub 파일을 루트 디렉토리에 복사붙여넣기한 것이다.

IPv4로 공인 ip를 받는다. 그리고 90일간 무료로 사용할 수 있는 요금제를 선택하고 이름을 지어준 후, create instance 해주면 생성된다. 다만 90일 전에 정지, 삭제까지 모두 해야 요금이 과금되지 않는다.


인스턴스를 구성하고 나면 이렇게 내 인스턴스가 생성되어 있다. running 옆에 보면 사이에 .이 3개 있는 숫자가 있다. 이것이 나의 ip주소이다. 이를 terminal에 연결해서 내 컴퓨터에서 직접 도커를 설치해보려고 한다.
ssh ubuntu@192.92.xxx.xxx
위와 같이 나에게 할당된 ip주소를 작성해주면 된다. 앞서 등록한 sshkey를 가진 컴퓨터에서만 접속할 수 있으니, 다른 컴퓨터에서 접속하려면 추가해줘야 한다.
이후에는 더 간단하다. grok이나 google gemini에게 우분투에 도커를 설치하는 방법을 물어보면 다음과 같이 답해줄 것이다.
1. 시스템 패키지 업데이트: sudo apt-get update
2. 필수 패키지 설치: sudo apt-get install ca-certificates curl
3. GPG 키 추가: curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.asc; sudo chmod a+r /etc/apt/keyrings/docker.asc
4. 리포지토리 추가: echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
5. Docker 설치: sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
6. 설치 확인: sudo docker run hello-world
이 절차대로 따라하면 된다.
나는 또 다른 방식으로 접근했다. 위 방법은 최신 방법이지만, 나는 다음과 같은 방법을 사용했다.
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) 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 -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker
docker --version
sudo usermod -aG docker $USER
그룹 변경을 적용하려면 로그아웃 후 다시 로그인하거나, 다음 명령어를 실행하세요:
newgrp docker
docker run hello-world
이제 웹서버와 도커 컨테이너를 설치하였으니, 실제로 잘 실행이 되는지 더미파일을 만들어서 확인해볼 차례이다.
1. opt 디렉토리에 nginx 디렉토리 생성
cd /opt
sudo mkdir nginx
cd nginx/
sudo vi docker-compose.yml
version: '3.8'
services:
web:
image: nginx:latest
ports:
- "8080:80"
volumes:
- ./html:/usr/share/nginx/html:ro
networks:
- webnet
networks:
webnet:
driver: bridge
sudo docker compose up 이후에 ip주소를 통해 접속해주면 접속이 되지 않을 것이다. 이때 뒤에 포트 번호를 작성해줘야 한다. 이는 yml 파일에 8080포트로 저장이 되어 있는데 도커 컨테이너는 80으로 되어 있기 때문에 그런 일이 발생한 것이다. 그래서 8080을 뒤에 붙여줘야 접속할 수 있었던 것이다. 이를 80:80으로 yml파일을 변경해주면 그냥 접속할 수 있다. 그리고 방화벽 포트를 열어줘야 하니 instance 관리창으로 들어와서 8080을 추가해주면 된다.
이렇게 접속해도 아무것도 뜨지 않고 오류가 뜰 것이다. 이는 지정된 파일에 아무것도 없어서 그렇다.
cd html을 통해 디렉토리에 가보면 아무것도 없다.
여기에 sudo vi index.html을 만들어서 내용에 아무거나 써준 다음 저장하면 화면에 잘 나타나게 된다.
google cloude
자체 서버(전기요금 많이 나옴)