Docker

luneah·2022년 10월 13일
0

Developer

목록 보기
15/16
post-thumbnail

Docker

컨테이너 기반 가상화 도구로 2013년에 go 라는 언어로 개발되었다. 현재 가상화 도구계의 표준이다.

  • 가상화 : 현재 PC 및 서버의 운영체제 위에 가상으로 다른 운영체제를 사용할 수 있게 해주는 기술로 하드웨어 단위에서 설정이 가능하다.
  • 포트 : 외부 혹은 내부에서 로컬 혹은 서버로의 접근시 필요한 통로의 번호
  • 도커허브 : Github가 형상관리 원격 저장소라면 docker hub는 서버 이미지 관리 원격 저장소이다. 개인이 만든 서버 이미지 및 세팅값을 저장할 수 있다.
  • 컨테이너 : 어플리케이션(MySQL, JAVA, 아파치 등)을 환경에 구애 받지 않고 실행하는 기술이다.
    • 차이점
      윈도우 : 설치파일 다운로드 > 설치 > 환경설정 > 완료
      리눅스 : 앱 저장소 검색 > 설치 명령어 > 환경설정 > 완료
      맥 : 앱 스토어(혹은 웹) 앱 검색 > 다운로드 > 설치 > 환경설정 > 완료
      도커의 경우 운영체제를 불문 : 설치 스크립트 실행 > 컨테이너 실행 > 완료

왜 도커를 써야할까?

  1. 레거시 서버 관리
    서버 운영시 서버의 추가, 교체, 삭제에 맞추어 설정이 매번 똑같을 수 없다. 그러나 도커는 서버 추가할 때마다 환경설정을 완벽하게 똑같이 맞출 수 있다.

  2. 업무 분장의 용이점

🐳 도커 기본 문법

(사실 Docker 데스크탑 앱을 깔면 명령어 없이 더 쉽게 실행할 수 있다..!)

1. 컨테이너 실행
$ sudo docker run [OPTION] IMAGE[:TAG|@DIGEST] [COMMEND] [ARG...]

2. 컨테이너 시작/재시작
$ sudo docker start [컨테이너 id 또는 name]
$ sudo docker restart [컨테이너 id 또는 name]

3. 컨테이너 접속
$ sudo docker attach [컨테이너 id 또는 name]

4. 컨테이너 정지
$ sudo docker stop [컨테이너 id 또는 name]

5. 컨테이너 삭제
$ sudo docker rm [컨테이너 id 또는 name]

-d: 백그라운드 모드
-p : 포트 설정
-v : 디렉토리 연결(마운트)
-e : 환경변수 설정
-name : 컨테이너 이름
-rm : 프로세스 종료시 컨테이너 자동 제거

profile
하늘이의 개발 일기

0개의 댓글