종달랩 종다리 이야기

Docker run 옵션 및 활용

Computer Science/클라우드-대용량 아키텍처
반응형

Docker run 명령어를 정리합니다.

 

일반적으로 docker 이미지를 만들었다면 다음과 같이 실행하게 됩니다.

 

docker run <옵션> <이미지> <명령> <매개변수>

 

다음과 같은 형태로 만들어지게 됩니다.

docker run -it -p 8080:80 --nmae mydockerimg

여기서 사용되는 다양한 옵션들에 대해서 정리해보면 다음과 같습니다.

 

  • -i, --interactive
    • 표준 입력(stdin)을 활성화하며, 컨테이너와 연결(attach)되어 있지 않더라도 표준 입력을 유지합니다.
    • 보통 이 옵션을 사용하여 Bash 에 명령을 입력합니다.
  • -t, --tty
    • TTY 모드(pseudo-TTY)를 사용합니다.
    • Bash를 사용하려면 이 옵션을 설정해야 합니다.
    • 이 옵션을 설정하지 않으면 명령을 입력할 수는 있지만, 셸이 표시되지 않습니다.
  • --name
    • 컨테이너 이름을 설정합니다. 사용할 이름과 표시할 이름을 설정할 수 있습니다.
  • -d, --detach
    • Detached 모드입니다.
    • 보통 데몬 모드라고 부르며, 컨테이너가 백그라운드로 실행됩니다.
  • -p, --publish
    • 호스트와 컨테이너의 포트를 연결합니다. (포트포워딩)
    • <호스트 포트>:<컨테이너 포트>
      • -p 80:80
  • --privileged
    • 컨테이너 안에서 호스트의 리눅스 커널 기능(Capability)을 모두 사용합니다.
    • 호스트의 주요 자원에 접근할 수 있습니다.
  • --rm
    • 프로세스 종료시 컨테이너 자동 제거
  • --restart
    • 컨테이너 종료 시, 재시작 정책을 설정합니다.
      • --restart="always"
  • -v, --volume
    • 데이터 볼륨을 설정입니다.
    • 호스트와 컨테이너의 디렉토리를 연결하여, 파일을 컨테이너에 저장하지 않고 호스트에 바로 저장합니다. (마운트)
  • -u, --user
    • 컨테이너가 실행될 리눅스 사용자 계정 이름 또는 UID를 설정합니다.
      • --user root
  • -e, --env
    • 컨테이너 내에서 사용할 환경 변수를 설정합니다.
    • 보통 설정 값이나 비밀번호를 전달할 때 사용합니다.
      • -e GRANT_SUDO=yes
  • --link
    • 컨테이너끼리 연결합니다.
    • [컨테이너명 : 별칭]
      • --link="db:db"
  • -h, --hostname
    • 컨테이너의 호스트 이름을 설정합니다.
  • -w, --workdir
    • 컨테이너 안의 프로세스가 실행될 디렉터리를 설정합니다.
  • -a, --attach
    • 컨테이너에 표준 입력(stdin), 표준 출력(stdout), 표준 에러(stderr) 를 연결합니다.
  • -c, --cpu-shares
    • CPU 자원 분배 설정입니다.
    • 기본 값은 1024이며, 각 값은 상대적으로 적용됩니다.
  • -m, --memory
    • 메모리 한계를 설정합니다.
    • <숫자><단위> 형식이며 단위는 b, k, m, g 를 사용할 수 있습니다
      • --memory=”100000b”
  • --gpus
    • 컨테이너에서 호스트의 NVIDIA GPU 를 사용할 수 있도록 설정합니다.
      • 호스트는 NVIDIA GPU 가 장착 된 Linux 서버여야하며,
      • NVIDIA driver 가 설치되어 있어야하고,
      • docker 19.03.5 버전 이상이어야합니다.
    • GPU 모두 사용하기
      • --gpus all
    • GPU 지정해서 사용하기
      • --gpus ‘”device=0,1”’
  • --security-opt
    • SELinux, AppArmor 옵션을 설정합니다.
      • --security-opt=”label:level:TopSecret”

참조한 사이트는 다음과 같습니다.

도커의 동작 시각화 자료

 

반응형

도커에 대한 설명 동영상

Computer Science/클라우드-대용량 아키텍처
반응형


https://youtu.be/tPjpcsgxgWc


도커를 쉽게 설명하는 동영상입니다.

도커에 대한 개념을 쉽게 잡을 수 있을것 같네요. 


반응형

도커를 강력하게 만드는 12가지 도구

Computer Science/클라우드-대용량 아키텍처
반응형





ITWorld Korea: 도커를 더 강력하게 만드는 오픈소스 툴 12가지.

원본은 위 링크에 있고, 간단히 툴에 대한 이름만 리스트하겠습니다. 글은 꼭 가서 읽어보세요.


1.다이브

.. 이때 다이브(Dive)를 이용하면 대화식 UI를 통해 도커 이미지 속 레이어를 가시적으로 확인..


2.도커 컴포즈 UI
도커 컴포즈 UI(Docker Compose UI)는 도커 컴포즈에 웹 기반 UI를 추가한 MIT 라이선스 프로젝트..

3.도클리
.. 도클리(Dockly)가 해법이다. 도커용 풀스크린 터미널 인터페이스를 제공..

4.더스티
.. 도커 기반의 MIT 라이선스 개발 환경이다. 더스티 개발팀은 컨테이너 관리 툴인 도커 컴포즈 또는 베이그란트(Vagrant)의 사용성을 개선하는 툴..

5.엘시
엘시(Elsy)는 도커와 도커 컴포즈를 이용한 멀티 랭기지 빌드 툴..


6.고커라이즈
고(Go) 언어 애호가를 위한 툴... BSD 라이선스 툴...

 

7.헤비터스
헤비터스(Habitus) 역시 도커 기반 빌드 툴..... 도커 파일과 build.yml 파일을 이용해 임의의 명령 다수를 포함한 다단계 컨테이너 빌드를 만든다...

8.하이퍼
.. 하이퍼바이저 중립적인 툴.. 어떤 하이퍼바이저 상의 도커 이미지도 실행... 파이퍼는 도커와 QEMU, 젠(Xen)을 사용..

9.카이트메틱
.. 카이트메틱(Kitematic)은 맥OS와 우분투 리눅스, 윈도우 등에서 쓸 수 있는 도커 컨테이너 관리용 GUI 툴...

10.로그스파우트
...로그스파우트(Logspout)에도 도커 컨테이너의 로그를 관리... 

11.포테이너
...싱글 호스트이든, 클러스터이든 상관없이 도커 환경에 대한 웹 UI를 제공해 현재 실행중인 모든 것에 대한 단일 뷰를 볼 수..

12.웨일브루
맥OS 사용자라면 맥용 에드훅 패키지 관리 시스템 '홈브루(Homebrew)'에 익숙할 것....웨일브루(Whalebrew)를 이용하면 도커 이미지를 설치한 후 커맨드 라인에서 직접 실행....

반응형