Docker Hub의 이미지로 도커를 사용해보기 – 1

도커에서 필요로 하는 이미지는 직접 만들어서 쓸 수도 있지만, Docker Hub에 이미 만들어진 것을 가져다가 쓸 수도 있다. 일단 기본적으로 사용하는 명령어들을 익히기 위해서 Docker Hub에서 제공되는 이미지를 이용하여 직접 실행하는 것을 정리해 보려고 한다. 도커를 이용하는 데 있어서 가장 기본적인 명령어들이니 그냥 있는 이미지를 가지고 이용하는 방법으로 작성해 보도록 하겠다.

사실 그냥 Docker Hub에 대해서는 별 거 없다. github를 처음 사용할 때와 비슷한 화면을 볼 수 있을 것이다.

스크린샷 2017-07-06 오후 11.06.01.png

그런데, 실제로 보면 이미 유명한 환경에 대해서는 이미 이미지를 별도로 배포하고 있다. 유명한 리눅스의 배포판, 오픈소스 프로젝트 등의 이미지, 그것도 가장 기본적인 이미지는 Docker Hub에서 제공을 하고 있다.

스크린샷 2017-07-06 오후 11.06.51.png

특히, 이미지와 관련된 모든 명령어는 기본적으로 Docker Hub와 연동이 되어있다. 이제 이 연동되어 있는 내용을 확인하고, 실제로 사용하도록 한다.

search

search 명령어로 이미지를 검색할 수 있다.

스크린샷_2017-07-27_14-53-44

여러 목록들이 쭉 나올 것이다. 우분투의 기본 공식 이미지부터 시작해서 다른 사람들이 자기 원하는대로 이용할 수 있는 판까지 다양하게 존재한다. 이 목록들은 docker hub에도 그대로 나타난다.

pull

pull 명령으로 이미지를 직접 받아오도록 한다. docker를 설치하면 기본적으로 이미지를 받아오는 곳은 docker hub에서 받아오도록 되어있다.

스크린샷_2017-07-27_14-54-35스크린샷_2017-07-27_14-54-45

받아오는 동안에 여러모로 받아오는데, 바로 컨테이너의 버전에 맞춰서 별도로 받아온 다음에 하나의 컨테이너로 구성해서 이용할 수 있게 해주는 것이다. 업데이트가 많이 되는 이미지들일수록 여러 버전들을 쫙 받아서 가장 최신으로 합쳐주는 작업을 할 것이다.

images

도커에 있는 모든 이미지들을 보려고 할 때 사용하는 명령어이다. 우분투 이미지가 받아졌는지 확인해보자.

스크린샷_2017-07-27_14-56-06.png

제대로 받아져있다.

글이 좀 길어져서 직접 실행하는 run 관련된 부분과 그 후의 내용은 2편에서 작성하겠다.

Advertisements

docker 사용 시 sudo 명령 일일이 치지 않게 하기

사실 좀 위험하다고 생각한다. docker 권한이 root 권한을 이용하기 때문에 sudo 를 사용하도록 해야 그나마 좀 더 보안적인 요소가 되긴 한다만..

자주 쓰는 머신이고, 나 혼자서만 쓴다면 진짜로 귀찮은 게 현실이다. 그렇다면 이걸 항상 root가 아니라 내 계정으로 쓰게 하고 싶은 것이다. 이럴 때에는 할 수 있는 방법이 두 방법이 있다.

  • root로 로그인을 한다
  • 내 계정을 docker 그룹에 추가한다.

root 계정으로 로그인…. 하지마라. 상식이 있다면 안할 것이다.

그럼 선택지는 이거 뿐이다. 내 계정을 docker 그룹에 추가하는 것.

스크린샷_2017-07-27_14-26-55.png

사실 해당 내용에 대해서는 리눅스에서 자동 설치 스크립트로 설치를 하게 되면 하는 방법과 함께 경고를 날려준다. 도커 호스트를 이용하는 작업 자체가 루트 권한을 이용해야 하기 때문에 여러모로 말이 많게 나오는 것이다. 그러나 귀찮다면 직접 입력해보자. 아, 실행 후에 서비스 재시작도 꼭 해줘야 한다.

스크린샷_2017-07-27_14-29-06.png

이제 이게 제대로 되어있는지 확인해보자. 도커를 이용하여 우분투 컨테이너를 받아오려고 한다.

스크린샷_2017-07-27_14-39-49.png

그냥 잘 받아와지고 있다. 앞으로 예제에 그냥 sudo 안쓰고 하려고 하는데 이게 왜 이러냐고 물어보는 건 더 없기를…

 

리눅스에서의 도커 설치

리눅스 환경에 친화적인 것이 도커이다보니 리눅스쪽의 설치가 좀 더 자세하게 나와있다. 반면 맥과 윈도우의 경우에는 여러모로 프레임워크와 라이브러리화 되어 있기 때문에 그걸 그대로 설치하여 쓰는 형태로 구성되어서, 설치 프로그램으로 만들어져 있다. 그것이 이전 글에서 쓴 Docker Toolbox이다.

리눅스에서 동작하는 도커 환경은 모든 작업이 root 권한을 요구한다. 그래서 죄다 sudo를 이용하여 설치한다는 걸 먼저 알아두면 좋다. 그럼 이제 리눅스에서 설치하는 방법을 이야기하려 한다. 

  • 자동 설치 스크립트를 이용하려 설치하기
  • 패키지 배포판을 이용하여 설치하기
  • 최신 바이너리 받아서 설치하기

일단 가장 쉽게 하는 것이 바로 자동 설치 스크립트를 이용하여 설치하는 것이다. 이걸 이용하면 리눅스 배포판과 버전에 맞춰서 알아서 설치할 수 있도록 해준다. 설치 스크립트는 “sudo wget -qO- https://get.docker.com/ | sh”인데, 아래의 화면을 참고하면 된다. 참고로 규링의 경우에는 이미 설치를 한 경우라서 다시 설치하려 하니깐 오류가 난 것이다.


패키지 배포판으로도 또한 존재한다. 우분투 환경에서는 docker.io라는 이름으로, 레드햇 계열에서는 docker-io라는 이름으로 존재한다. 패키지 배포판에서 검색해서 직접 이름을 확인하고 설치를 하면 된다.

마지막으로 최신 바이너리를 직접 받아서 수동으로 설치하는 방법이 있다. 자동 설치 스크립트가 실패한 경우에 수동으로 직접 압축된 바이너리를 풀어서 사용하는 것이다. 또한 패키지 배포판으로는 도저히 최신 버전이 올라가지 않는 경우나 각각의 리눅스 배포판마다 전부 다 지원하는 것이 아니다보니 직접 이걸로 설치해서 쓰는 경우에도 있다.

참고로 자동 설치 스크립트를 이용하면 기본적으로 hello-world가 있다. 안쓸 경우에는 도커에서 제거 명령어를 이용하면 된다.