Docker

majungha·2023년 3월 21일
1

메모

목록 보기
12/57

오늘의 공부 👍

2주차에 배우는 docker를 미리 예습하고 싶어서 정리해보려고 합니다.

📝 Docker


  • Go언어로 작성된 리눅스 컨테이너 기반으로하는 오픈소스 가상화 플랫폼이다.
  • 모든 서비스를 한 서버안에 올리면 문제가 생길 수 있다.
  • 그래서 서버 가상화를 사용한다.
  • 운영체제에 따라서 조금씩 환경이 달라진다.
  • window를 사용하든, Mac을 사용하든 Linux로 통일이 가능하다.

📝 포트포워딩(포트를 전달한다)


  • x번포트로 들어온 프로그램을 도커컴퓨터 y번포트로 전송해줘야 한다.

  • 들어온 포트를 어떤 포트로 내보낸다.

▷ 3000번 포트에서 3000번 포트로 보내기

  • sudo docker run -p 3000:3000 이미지ID - 3000번 포트를 받아서 3000번포트로 내보낸다.

▷ 2500번 포트에서 4000번 포트로 보내기

  1. app.listen(4000)으로 하고 저장

  2. sudo docker build . 으로 4000번포트의 컴퓨터 저장

  3. sudo docker run -p 2500:4000 IMAGE ID 으로 컴퓨터 실행

  4. postman에서 localhost:2500/ 으로 확인

📝 Docker 명령어


  • Docker는 명령어가 굉장히 많은데 자주 사용하는 명령어들만 정리해보겠습니다.

▷ 만들기


  • sudo docker build . // 컴퓨터 만들기

▷ 확인하기


  • sudo docker images // 이미지 확인하기
  • sudo docker ps // 실행된 컴퓨터( 이미지, 컨테이너 ) 확인하기
  • sudo docker ps -a // 모든 컴퓨터( 이미지, 컨테이너 ) 확인하기
  • sudo docker images -q // 이미지ID 한번에 보기
  • sudo docker ps -a -q // 컨테이너ID 한번에 보기

▷ 실행하기


  • sudo docker run 이미지ID // 컴퓨터 실행하기
  • sudo docker exec -it 이미지ID /bin/bash // 도커컴퓨터로 접속하기

▷ 멈추기


  • sudo docker stop 컨테이너ID // 컴퓨터 멈추기

▷ 삭제하기


  • sudo docker rm 컨테이너ID // 컨테이너 한개씩 삭제하기
  • sudo docker rmi 이미지ID // 이미지 한개씩 삭제하기
  • sudo docker `rm docker ps -a -q` // 모든 컨테이너 삭제하기
  • sudo docker rmi `docker images -q` // 모든 이미지 삭제
  • sudo docker system prune -a // 모든 컴퓨터 컨테이너 한번에 삭제(실행중인 컴퓨터 X)

출처 및 참고
코드캠프

profile
개발자 블로그 / 항상 겸손한 자세로 배우면서 성장하자 할 수 있다!

0개의 댓글