도커공부를 시작하려고 한다.
도커를 사용하면 개발과 배포환경을 컨테이너화 시켜 쉽게 사용할 수 있다고 하는데 이말인 즉슨
버전이나 서버환경에 관계없이 개발을 할 수 있다!!? 이게 무슨말이지...
우리가 세팅하는 os나 환경설정을 분리하여 이미지로 저장 -> 이미지를 조립하여 컨테이너화
하기 때문에 좀 더 편하게 개발을 할 수 있다고 생각하면 되겠다!
여러가지 클라우드 서비스 중에 Google Cloud Platform(GCP)을 사용하여 인스턴스를 만들어보겠다.
gcp 가입하고 무료크레딧받는 방법은 검색하면 많이 나오기때문에 따로 작성하지 않겠다.
기존에 사용하던 VM는 Host 운영체제(Hypervisor 자체 실행하는 측)와 Guest 운영체제(Hypervisor가 구동하는 가상화된 OS) 사이에서 '가상화' 단계를 거치면서 Host 운영체제와 Guest운영체제의 기능중복으로 overhead가 발생한다.
반면, Docker는 각각의 Docker 애플리케이션을 마치 '프로세스'처럼 간주하여 VM보다 overhead가 적어 원래의 장비성능을 발휘할 수 있게 된다.
Docker를 사용하기 전에 먼저 Docker Desktop를 설치를 해주고 나서 GCP SSH에 연결을 하면 창이 뜬다.
(위 화면의 연결컬럼에 있는 SSH를 클릭해주면 별도의 SSH툴 없이도 연결이 가능하다.)
GCP VM 인스턴스에 Docker 설치하기 위해서 명령어에 sudo yum install docker
를 입력하고 설치한 후에 sudo systemctl start docker 입력하면 docker가 실행된다.
잘 실행되는지 확인하기위해 GCP에 있는 외부 IP로 접속을 해보겠다.
Docker desktop을 이용해서 확인을 해볼텐데,
(도커를 윈도우에서 편하게 사용하기 위해 Docker와 GUI를 합친 Docker desktop을 사용)
구글에서 docker desktop을 검색하면 나오는 첫번째 링크에서 다운로드 하여 실행하고 브라우저 창에 localhost를 치면 내 로컬에 Getting Started 페이지를 확인할 수 있다.
여기서 아까 실행한 gcp ssh에 sudo docker run -d -p 80:80 docker/getting-started
입력하면 gcp인스턴스 위에 올라간 페이지까지 확인할 수 있다!
이렇게 GCP VM 인스턴스에 Docker 설치후 페이지를 띄워 접속하는것까지 완료!
이글은 calss101의 현직 대기업 개발자 푸와 함께하는 진짜 백엔드 시스템 실무 강의를 참고하여 작성하였습니다.
'Docker' 카테고리의 다른 글
docker network (0) | 2024.03.27 |
---|---|
docker image, container, volume, network 삭제 (0) | 2023.11.20 |
Docker Compose 설치 시 권한 에러 (0) | 2023.08.17 |
wsl2 에서 docker 호환성 문제 (0) | 2023.03.31 |
dockerfile 빌드, 이미지 run 해보기 (0) | 2022.04.02 |