반응형
컨테이너 다루기
- 보통 Docker Desktop ui 로는 Docker의 모든 기능을 사용할 수 없기에
- 터미널에 명령어를 작성하여 사용하는 것이 대부분이라고 함.
- 우선 이미지 실행은 터미널에 아래의 명령어를 입력하면 됨
- docker run 이미지명:태그명
- 다만 이렇게 실행하게 되면 터미널이 점유하게 되어 다른 명령어를 작성할 수 없음
- 그래서 백그라운드로 실행하도록 하기 위해선 아래와 같이 -d를 추가하기
- d → detached = 떨어져 있는
- docker run -d 이미지명:태그명
- 그래서 백그라운드로 실행하도록 하기 위해선 아래와 같이 -d를 추가하기
- 그리고 서버가 들어있는 이미지는 그냥 실행하면 안되고, 포트를 설정 후 실행해야 함.
- docker run -d -p 내컴퓨터포트:컨테이너포트 이미지명:태그명
- 그래서 나는 docker run -d -p 8080:8080 nodeserver:v1 입력하니 정상적으로 서버 접속 완료.
- 여기서 포트를 설정하는 이유
- 현재 나의 컴퓨터인 Host안에 가상컴퓨터인 Container(nodesserver)를 실행하고 있는데
- 나의 컴퓨터인 8080에 접속해도 Container를 찾을 수 없어서 접속할 수 없음.
- 즉, 클라이언트는 나의 컴퓨터의 8080에 들어온거지, Container의 8080으로 들어온게 아님.
- 그리고 남의 컴퓨터로 접속을 하는 방법은?
- 웹 브라우저 창을 열고 타인의 컴퓨터IP 주소를 입력하고 포트 번호를 입력하면 됨.
- 내가 내 컴퓨터로 접속하는 방법은?
- 자주 사용했던 localhost:8080 또는 127.0.0.1:8080
- 우선 이미지 실행은 터미널에 아래의 명령어를 입력하면 됨
- Docker 명령어
- 실행중인 컨테이너: docer ps
- 실행중인 컨테이너 로그 출력: docker logs 컨테이너명
- 이미지명이 아닌 name을 작성
- 실행중인 컨테이너 접속: docker exec -it 컨테이너명 sh
- exec → execute(실행하다)
- 이후 ls나 cd 명령어 들을 실행할 수 있고
- 탈출하고 싶다면 ctrl+p → ctrl+q 순서대로 입력
- 실행중인 컨테이너 일시정지: docker stop 컨테이너명
- 정지된 컨테이너 삭제: docker rm 컨테이너명
- 실행중인 컨테이너 삭제: docker rm -f 컨테이너명
- 환경변수 추가: docker run -e 환경변수이름=’값’
- Docker와 Container 실체
- Docker란
- LinuxOS의 기능을 활용한 것으로
- namespace 기능을 사용하면, 프로그램 간 영향을 미치지 않도록 독립적으로 분리해줌
- 그리고 control group을 사용하면, 프로그램마다 CPU, RAM 사용량을 별도로 할당 가능
- union filesystem 과 같은 것들이 있는데
- 이러한 것을 합치면 가상 컴퓨터를 만들 수 있으며,
- 가상 컴퓨터 안에서 프로그램을 독립적으로 실행할 수 있음(컨테이너)
- 그래서 runc를 구현하기 쉽게 나온게
- containerd이고 이를 더 쉽게 사용하게 나온게 Docker
- Docker란
'Docker&Container' 카테고리의 다른 글
Docker&Container - Network 1. nginx 만들기 (0) | 2024.12.14 |
---|---|
Docker&Container - Docker hub, push, pull (0) | 2024.11.30 |
Docker&Container - 성능을 위한 Dockerfile 작성법 (1) | 2024.11.29 |
Docker&Container - Dockerfile로 도커 이미지 만들기 (0) | 2024.11.29 |
Docker&Container - 시작하기 & 설치 & 이미지와 컨테이너 개념 (0) | 2024.11.28 |