Docker 도커 써보기(with 생활코딩)

KoEunseo·2023년 7월 8일
0

docker

목록 보기
1/1

지인에게서 도커는 꼭 써봐야한다는 이야기를 들었다.
면접갔을때 도커를 써봤는지 이야기를 듣기도 했고...
그래서 일단 쌔려보기로 함.

생각보다 유튜브에 도커 강의를 찾아봤을때 영상이 많이 나오지 않는다.
생활코딩 도커 강의가 '입구 수업'이라는 워딩이 좀 우려스럽긴 하지만 1년정도밖에 안되기도 했고,
일단 경험삼아 공부삼아 하는 거라 바로 진행해보기로 했다.

도커 Docs

용어

도커에서 사용하는 용어가 따로 있다.

  • docker hub : 도커 허브는 앱스토어처럼 무언가 다운로드하기 위한 페이지
  • image : 이미지는 다운받은 프로그램
  • container : 컨테이너는 프로그램 실행을 의미하는 프로세스 라고 한다.
    • 프로그램이 여러개의 프로세스를 가질 수 있는 것처럼, 이미지도 여러개의 컨테이너를 가질 수 있다.
  • 이미지를 다운받는 것을 pull
  • 이미지를 실행시키는 것을 run 이라 한다.

이미지 다운받기(예시)

docker hub에서 Containers 클릭.
원하는 이미지를 찾아서 클릭해보면 아래 사진과 같이 다운받을 수 있는 명령어가 안내되어있다.

  • httpd(아파치)
    Docker official image라고 쓰여있는 뱃지는 공식적으로 관리하는 믿을 수 있는 이미지라는 뜻.

명령어

도커 CLI 레퍼런스

  • pull
docker pull httpd //다운로드
docker images //다운되어있는지 확인

실행하기


images에서 보면 다운받은 이미지를 확인할 수 있다. run을 클릭해 실행할 수 있다.

run을 클릭하면 위와 같은 화면이 뜬다. 컨테이너 이름을 잘 지정해줘야 관리하기 편하다고 한다.
일단 강의와 같이 웹서버1로 지정해주었다.

컨테이너가 만들어졌다. stop을 클릭하면 컨테이너가 꺼진다.
delete를 클릭해서 삭제할 수도 있다.

명령어

docker run httpd //httpd 기반으로 컨테이너를 생성해 실행
docker ps //컨테이너를 보고 싶을때. id, 생성일자 등 정보 조회. 옵션이 없다면 실행중인 컨테이너만 나온다.
docker run --name [이름] httpd //[이름]으로 컨테이너 생성해 실행
docker stop [이름] //도커 끄기
docker ps -a //생성된 모든 컨테이너 리스트
docker start [이름] //중지시켰던 컨테이너 다시 실행
docker logs [이름] //로그 출력. 그러나 컨테이너가 꺼진다.
docker logs -f [이름] //실시간으로 로그를 볼 수 있음.
docker rm [이름] //컨테이너를 삭제. 실행중이라면 옵션 없이는 삭제 불가.
docker rm --force [이름] //실행중인 컨테이너도 삭제 가능.
docker rmi [이미지 이름] //이미지 삭제.

네트워크

  • home server 강의 듣기!
docker run -p 8000:80 httpd 
// 컨테이너 실행. 전자 8000번 호스트에 후자 80번 컨테이너 연결(port forwarding)
docker run --name [이름] -p 8080:80 httpd 
// p: publish. 8080번 컨테이너 포트 80번 호스트에 연결.

명령어 실행

docker exec [이름] pwd //컨테이너에 pwd명령
docker exec -it [이름] /bin/sh //앞으로 명령이 지정한 컨테이너에 하는 명령임.(본쉘 사용시)
docker exec -it [이름] /bin/bash //앞으로 명령이 지정한 컨테이너에 하는 명령임.(bash쉘 사용시)
exit //나가기

-i : intercative
-t : tty

어느 위치에 index.html이 있는지 적혀있다.

  • httpd의 경우에는 /usr/local/apache2/htdocs/
  1. docker exec -it test /bin/sh :test 컨테이너로 명령어 실행
  2. cd /usr/local/apache2/htdocs : index.html이 있는 폴더까지 들어가기
  3. apt update
  4. apt install nano : 나노 설치(인덱스 파일 수정하기 위함)
  5. nano index.html : index.html 에디터(나노) 실행
  6. ctrl+x -> ctrl+y -> enter : 수정 및 저장
  7. 수정사항 확인(새로고침을 해야 수정사항이 적용된다.)

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

docker run -p 8080:80 -v ~/Desktop/htdocs:/usr/local/apache2/htdocs/ httpd
  • ~/Desktop/htdocs : 호스트 경로
  • /usr/local/apache2/htdocs/ : 컨테이너 index.html 경로

profile
주니어 플러터 개발자의 고군분투기

0개의 댓글