ntainer - run

2521 단어 dockerdocker

docker run

  • 컨테이너 생성하고 실행
  • docker run [options] [image] [command]
  • docker pull 과 docker create ( + attach ) 동시에
  • 컨테이너에서 기본 사용자는 root이며 호스트 이름은 무작위 16진수 해시값
# [root@467456be70c0 /]#

options

  • -i : 컨테이너와 상호 입출력, 키보드입력 을 컨테이너의 표준 입력에 연결
  • -t : tty 활성화, 터미널을 통한 조작
  • -d : Detached 로 실행, 컨테이너를 백그라운드로
  • --rm : 컨테이너 종료시 삭제

컨테이너 환경변수 지정

  • -e : 컨테이너 내부의 환경변수 -e PORT=3000

호스트의 IP와 포트에 컨테이너의 포트 바인딩

  • -p : 포트 바인딩 -p [호스트 포트번호]:[컨테이터 포트번호]
  • Docker는 컨테이너에 172.17.0.X 를 순차적으로 할당한다
  • 설정없으면 컨테이너는 외부에서 접근할수 없고 호스트에서만 접근가능
  • 여러개의 포트 바인딩 할수 있음

컨테이너 link

  • --link containername:alias
  • alias로 다른 container에 접근
  • containername 컨테이너가 먼저 실행되어야 --link 가 존재하는 컨테이너 실행가능

호스트 directory나 volume 을 컨테이너와 공유

  • -v /host/directory:/var/lib/mysql # 호스트의 디렉터리를 컨테이너와 공유
  • -v myvolume:/var/lib/mysql # volume을 컨테이너에서 사용
  • -v /var/lib/mysql # volume 을 자동으로 생성해서 사용
  • --volumnes-from container # container가 공유하는 directory를 동일하게 공유
  • 호스트의 디렉터리가 없으면 자동으로 생성
  • 호스트의 디렉터리를 컨테이너의 디렉터리에 마운트
  • 컨테이너 삭제 되어도 호스트와 공유한 디렉터리의 데이터는 그대로
  • 한 컨테이너에 여러개 공유가능

command

  • 지정하지 않으면 이미지가 기본적으로 가진 command 사용
  • run이나 create 의 마지막에 입력
  • 컨테이너가 실행될때 수행할 명령어
$ docker run \
> -i -t \     #interactive tty option
> -name webserver \
> -p 80:80 \ # 192.168.0.100:80:80 처럼 바인딩할 호스트의 특정 ip도 지정가능
> -p 443:443 \  # 여러개의 포트 연결할 경우 -p 옵션 여러번 사용  
> nginx

좋은 웹페이지 즐겨찾기