배워서 남주는 개발자 :)

Web

[ Docker ] 도커란 무엇일까?

핏짜보이 2022. 5. 17. 22:08
반응형

(해당 포스팅은 개인 공부를 목적으로 정리한 포스팅입니다.)

Docker 사용법

 

도커 허브 : 앱스토어 처럼 여러 이미지들을 받을 수 있는 저장소

 

이미지 : 도커 허브에서 찾아낸 것을 컴퓨터에 다운로드 해서 가지고 있는 것

 

컨테이너 : 이미지를 실행하는 것

 

프로그램이 여러개의 프로세스를 가질 수 있는 것처럼 이미지도 여려개의 컨테이너를 가질 수 있음

 

 

<Docker 명령어>

이미지 다운받는 명령어 - docker pull Image(name). 

이미지 확인 명령어 - docker images

이미지 삭제 - docker rmi Image(name)

 

실행중인 컨테이너 확인 명령어 - docker ps

모든 컨테이너 확인 명령어 - docker ps -a

 

컨테이너 실행 명령어 - docker run Image(이미지 이름).

컨테이너 실행 (포트포워딩) - docker run —name (생성할 이름) -p 8000:80 Image(name) 

: 도커호스트 8000번 포트와 컨테이너 80번 포트를 연결

컨테이너 중지 명령어 - docker stop Container(name)

컨네이너 재시작 명령어 - docker start 

 

도커에서 로그 확인 - docker logs Container(name)

도커에서 실시간 로그 확인 - docker logs -f Container(name)

 

컨테이너 삭제 - docker rm Container(name)

=> 실행중인 컨테이너는 먼저 중지하고 삭제 해야함.

실행중인 컨테이너 바로 삭제 - docker rm —force Container(name)

 

컨테이너 명령어 전달 - docker exec Container(name) (실행하고자 하는 명령어)

컨테이너에 지속적으로 명령어 전달 - docker exec -it Container(name) /bin/sh

=> /bin/sh 입력시 ‘본쉘’, /bin/bash이라는 프로그램 실행, 쉘은 사용자의 명령어를 운영체제에 전달하는 창구 역할

컨테이너 범위 탈출 - exit 

=>호스트를 대상으로 하는 명령어로 인식

 

 

 

<컨테이너 수정>

GUI 

컨테이너 -> CLI  -> pwd(컨테이너 안에서 명령어 입력한 것) - ls -al

 

 

terminal

docker exec Container(name) pwd

docker exec Container(name) ls

docker exec -it Container(name) /bin/sh

 

apt update

 

나노 에디터 설치 : apt install nano 

 

파일 편집 : nano index.html

 

수정후

 

control + X (수정된 내용 저장)

 

Y + enter

 

 

호스트 - 컨테이너의 파일시스템 연결 

=> 호스트에서 변경사항 있으면 컨테이너에 바로 적용되는 방법

 

docker run -p 8888:80 -v ~/Desktop/htdocs:/usr/local/apache2/htdocs/  httpd 

호스트 포트 -> 컨테이너 포트 포트 포워딩 / 호스트 파일시스템 경로 -> 컨테이너 파일시스템 경로 연결

 

 

 

 

참고자료

https://www.youtube.com/watch?v=Ps8HDIAyPD0&list=PLuHgQVnccGMDeMJsGq2O-55Ymtx0IdKWf&index=1 

생활코딩님의 유튜브 강의를 정리한 내용입니다!

 

 

728x90