도커는 다음과 같은 과정을 가집니다.
일단 AWS EC2에 접속합니다.
1. 도커 설치를 진행하기전 repository 인덱스를 갱신합니다.
sudo apt update
2. 도커 다운을 위한 패키지를 설치해줍니다.
# HTTPS 프로토콜을 사용하여 안전한 방식으로 APT 패키지 관리자를 통해 패키지를 다운로드하고 설치할 수 있도록 해주는 패키지
sudo apt install apt-transport-https
# 시스템의 신뢰할 수 있는 인증서 목록을 관리하고,
# HTTPS 연결 및 다른 보안 프로토콜을 사용하는 패키지와의 통신을 안전하게 수행하게 해주는 코드
sudo apt install ca-certificates
# curl은 우분투 20버전에 없기 때문에 curl을 사용하기 위한 라이브러리 다운
sudo apt install curl
# 소프트웨어 관련 속성을 처리하는 데 사용되는 공통 소프트웨어 속성 패키지
sudo apt install software-properties-common
3. curl 명령어 도커 다운받기
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add
4. repository에 경로 추가하여 apt 리스트에 패키지 다운 경로 추가
/etc/apt/sources.list에 저장해 줘야하기 때문에 curl을 계속 사용하지 않고 sudo apt update를 이용해서 처리 할 수 있도록 해줘야 합니다.
앞으로 받아오게 될 url은 sources.list에 추가되게 됩니다. 즉, 경로 설정이라고 생각하시면 됩니다.
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
# =>(위 커맨드는 x86_64 / amd64 아키텍처를 위한 커맨드 )
정확히 입력했다면 sources.list 파일의 맨 아래에 아래와 같이 입력한 부분이 추가된 것을 확인하실 수 있습니다.
# 한번 더 실행 -> 저장소의 패키지 갱신
sudo apt update
5. 도커 설치하기
# 도커 설치
sudo apt install docker-ce
# 캐시 확인
apt-cache policy docker-ce
위와 같은 화면이 뜬다면 제대로 도커가 설치된 것입니다.
5-1. 도커 버전 확인하기
docker -v
5-2. 도커 시스템 확인하기
sudo systemctl status docker
Active 항목에 도커가 running 중인걸 확인할 수 있습니다.
Ctrl + z를 입력해 빠져나와 줍시다.
6. 도커 허브에서 이미지 다운받기
# Hello world이미지 받기
sudo docker pull hello-world
# 도커에서 이미지들 확인
sudo docker images
방금 당겨받은(pull) hello-world 가 최신버전으로 존재하는 것을 볼 수 있습니다.
6-2. 이미지에서 도커 컨테이너로 옮겨지면서 실행하기
run 명령어를 사용합니다.
sudo docker run "이미지 ID"
hello-world의 이미지 ID를 실행해 보겠습니다.
6-3. 도커 컨테이너 프로세스 상태 확인
sudo docker ps -a
커멘드 hello가 컨테이너 ID를 가지고 생성된 것을 확인할 수 있습니다. 생성된 시간은 1분 전이라고 나오고 상태(status)는 exited인데 이미 실행되서 끝났음을 의미합니다.
hello-world 이미지는 화면에 디스플레이 하는 것 이외엔 특별한 기능은 없어서 컨테이너 삭제를 해보겠습니다.
6-3. 컨테이너 삭제
sudo docker rm "컨테이너ID"
hello-world의 컨테이너 ID를 확인해야 하기 때문에 ps -a를 실행해 주었습니다.
hello-world 컨테이너를 삭제하고 컨테이너 프로세스를 다시 확인해보니 정상적으로 삭제된 것을 알 수 있었습니다.
6-4. 다시 해보기
sudo docker images를 입력해 가져온 hello-world 이미지의 이미지 ID를 확인 -> hello-world 컨테이너 실행 -> 컨테이너 프로세스 확인
6-5. 컨테이너 삭제 & 이미지 삭제
컨테이너 삭제와 이미지 삭제를 해보겠습니다.
# 도커 컨테이너 삭제
sudo docker rm "컨테이너ID"
sudo docker images를 입력하면 hello-world 이미지는 남아있는 것을 확인할 수 있습니다. 여기서 확인한 이미지 ID를 이용해서 삭제를 해줍니다.
# 도커 허브에서 가져온 이미지 삭제
sudo docker rmi "이미지 ID"
이미지 확인 -> 이미지 삭제 -> 삭제 확인
단!! 여기서 이미지로 생성된 컨테이너가 존재한다면 이미지는 삭제되지 않습니다. 따라서 컨테이너를 먼저 삭제하시고 그 다음 이미지를 삭제하셔야 합니다.
또한 컨테이너를 삭제할때는 status가 exited로 되어 있어야 삭제가 가능합니다.
만일 컨테이너의 상태가 running이라면 stop을 해줘서 exited로 만든 뒤 삭제를 진행해야 합니다.
'[Cloud] > [AWS]' 카테고리의 다른 글
[AWS] AWS s3 버킷에 원격으로 파일 업로드 후 읽기 (0) | 2023.10.11 |
---|---|
[AWS] 컨테이너 생성하기(mysql 설치, workbench 접속), for Mac (0) | 2023.06.01 |
[AWS] S3 사용하기 + 버킷 생성 + 폴더 생성 + 퍼블릭액세스차단해제 (0) | 2023.05.23 |
[AWS] cyberduck + php게시판 소스를 이용한 게시판 만들기 (0) | 2023.05.17 |
[AWS] RDS(Mysql) + DB생성 + ubuntu연동하기 + workbench(맥) (0) | 2023.05.03 |