# 도커 시작하기

Doker라는 들어보기만 했던 뜬 구름과 같은 기술을 주말을 활용해 한번 알아보고 사용해보고 싶어서, 인프런 강의 하나를 하루만에 완주하기로 하였다. 아직 취업을 준비하는 개발자로서 데브옵스에 대한 내용을 깊이있게 공부하기에는 부담이 되고, 차라리 그 시간을 리팩토링과 TDD 등 코드를 더 깔끔히 짜는 데 노력하는 시간으로 투자하는 것이 저에게 더 발전이 될 것 같아, 간단히 이것을 왜 쓰는지 이게 무엇인지 어떻게 쓰는지 정도만 알아보기 위해 하루 날잡고 공부를하였다.

# 내가 이해한 도커

도커는 VM을 간략화한 것이다. VM과 비슷하게 기능을 하는데 다른점은 OS와 같이 불필요한 정보들을 제거해 줌으로써 굉장히 가볍게 실행해준다. 그 실행해주는 단위를 컨테이너라고 하며, 해당 컨테이너를 만들기 위한 것이 이미지파일이다.

도커를 사용하면 가장 큰 장점은 프로세스들의 자원들을 격리하여 관리할 수 있다는 것이다.

# 도커의 기본 명령어

  • run : 도커 컨테이너를 실행
    • docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]
  • exec : 도커 컨테이너에 접속하는 실행
  • ps : 실행중인 도커 확인 (-a : 실행x인 것도 확인)
  • stop : 실행중인 도커를 멈춤
  • rm : ps로 보여지는 도커를 지움(id 혹은 name으로 삭제 가능)
  • logs : 컨테이너의 로그들을 보여줌
  • images : 이미지들을 모두 보여줌
  • rmi : 이미지를 지우는 명령어

# 마무리

2시간 정도면 대충 어느 기술인지 알 수 있겠다라고 생각하였는데, 직접 따라하다보니 5시간이 넘게 걸렸다. 강의에서는 매끄럽게 실행되는데 왜 내 pc에서는.. 오류가 나는지.. mysql을 올릴 때 3306 포트에 물리는데 이 때 해당 포트가 사용중이라서 생기는 오류를 찾아내는데 진짜 오랜 시간이 걸렸던게 인상적이다.

도커를 활용하면 이미지에 웹을 넣어 올릴 수 있으며 이러한 컨테이너들을 효율적으로 관리하도록 제공하는 것이 K8s가 된다.