티스토리 뷰

728x90
반응형

docker의 기초를 이용해 있어서 이론 내용은 무수히 많지만 컨테이너와 이미지에 대해서 기초적인 부분을 실제로 적용해보는것이 어려운 부분들이 있어 공부하였던 내용들을 공유합니다.

 

여기서는 컨테이너와 이미지에 대한 간단한 명령어들과 함께 실제로 컨테이너에 이미지를 띄워보고 서버 통신까지 해보는 작업을 해보겠습니다.

 

docker 컨테이너, 이미지 리스트 명령어
: 실행중인 내용들을 보여주는 명령어
docker container ls : 컨테이너 리스트

docker image ls : 이미지 리스트

 

여기서 "ls" 뒤에 "-a" 를 붙이게 되면 현재 실행중인 내용과 함께 실행중이지 않는 내용들까지 리스트로 가져오게 됩니다.

 

컨테이너와 통신하기
도커 컨테이너는 기본적으로 독립적인 환경에서 실행되기 때문에 컨테이너 밖에서 접근할 수 없습니다.
: 외부에서 도커를 통해 컨테이너로 들어올 수 없음

 

컨테이너와 통신하기 위해서는 컨테이너를 가동시키면서 ‘p’ 옵션을 사용하여 호스트의 포트와 컨테이너의 포트를 설정해야합니다. (이 설정을 사용하기 위해서는 호스트(서버 또는 pc)에서 사용 중인 포트와 번호가 겹치지 않는지 확인이 필요)

 

-p {host_port}:{container_port}
// host_port : 호스트 접속 포트
// container_port : 컨테이너 접속 포트

 

외부에서 컨테이너 통신 개념 이미지

 

> 컨테이너 실행 명령어

docker run --name test1 -d httpd : 해당 http image를 test1이라는 이름으로 컨테이너를 생성
-d : 백그라운드로 동작하는 의미

docker run --name test2 -d -p 8080:80 httpd :
-p 8080:80 : 호스트의 포트는 8080, 컨테이너의 포트는 80으로 세팅하여 네트워크를 설정

 

> 컨테이너 상태 확인 명령어

docker ps -a 

docker container ls -a

 

> 컨테이너 실행 중지 명령어

docker stop test1 : test1 실행 중지

docker rm test1 : test1 제거

 

실습 예제 화면

 

> 현재 컨테이너에는 아무것도 없고 이미지 리스트에는 httpd라는 이미지만 존재

컨테이너 및 이미지 리스트 조회 사진

 

> 컨테이너에 이미지 띄우기

docker run --name test1 -d httpd

컨테이너에 httpd 이미지 올리기

 

하지만 해당 포트를 열어주지 않고 띄었기 때문에 외부에서 접근이 안됩니다 -_-

 

localhost:8080에 접근이 안되는 사진

 

 

> 8080포트로 접근 허용하기

docker run --name test2 -d -p 8080:80 httpd

 

8080 호스트 포트 접근 허용 컨테이너 띄우기

 

 

짠~ test2 번 컨테이너를 통해 외부에서 접근이 가능해졌습니다.

 

localhost:8080 접근 성공

 

주의 ) 해당 컨테이너를 제거를 하려고 한다면 우선 stop을 하고나서 rm 을 진행해야합니다. 만약 rm을 바로 진행하였을 경우 에러 창을 띄웁니다.

728x90
반응형
250x250
반응형
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함