문서의 이전 판입니다!
docker search [검색어]
docker pull [image-name]:[tag]
: 이미지의 tag
버전을 다운로드함. latest
는 최신버전.docker images
: 이미지 목록보기docker rmi [image-name]:[tag]
: 이미지 삭제. tag
생략시 버전 상관없이 모두 삭제.run
명령으로 컨테이너 생성docker run [option] [image-name] {[실행명령]}
-i -t
or -it
: interactive, pseudo-tty : 실행된 명령에서 인터랙티브하게 입력/출력 가능--name [container-name]
컨테이너 이름지정-d
: detached 상태로(background로) 실행--rm
: 기존에 이미 도커 컨텐이너가 존재하면 삭제하고 다시 실행-v $HOSTDIR:$DOCKERDIR
: HOST의 디렉토리를 컨테이너의 디렉토리에 마운트-p 127.0.0.1:$HOSTPORT:$CONTAINERPORT
: HOST의 특정포트로 들어오는 요청을 Container의 특정포트로 보내기.# 11211 port로 실행되는 memcached docker 이미지가 있다고 할 때 아래 명령으로 컨테이너 생성하면 docker run -d -p 127.0.0.1:11211:11211 --name memcachedtest memcached # 앞의 "127.0.0.1:" 생략 가능.
--restart=[option]
: no
,on-failure[:max-retries]
,always
,unless-stopped
등을 지정하면 해당 컨테이너 자동 리스타트를 옵션으로 지정할 수 있다. 개발환경에서는 unless-stopped
(명시적 중지가 아니면 자동 재시작) 정도이면 될 듯.docker ps -a
: 모든 컨테이너 목록 출력. -a
는 전체 목록, -a
없으면 현재 실행중인 것들만.docker start [container-name|id]
: 컨테이너 시작docker restart [container-name]
: 재시작docker attach [container-name]
: 컨테이너에 접속exit
혹은 Ctrl-D
사용시 컨테이너 정지Ctrl-P, Ctrl-Q
를 차례로 누르면 실행상태로 그냥 빠져나옴.docker exec [container-name] [명령] …
: 외부에서 컨테이너 안의 명령 실행하기docker exec -it [container-name] /bin/bash
: 외부에서 컨네이너 안의 bash interactive 하게 실행docker stop [container-name]
: 컨테이너 정지docker rm [container-name]
docker image prune docker container prune # 위 둘을 합친게 volume인가? docker volume prune -f
run -v /volume/dir
: /volume/dir
을 컨테이너에 생성, 실제 저장될 위치는 inspect
로 확인docker run -d -P --name web -v /webapp training/webapp python app.py
docker inspect [container-name]
으로 마운팅 상황 확인 가능-v /host/dir:/container/dir
로 host 디렉토리를 container의 특정 디렉토리에 마운팅#The following two options will work on both PowerShell and Linux: docker run --rm -it -v ${PWD}:/usr/src/project gcc:4.9 docker run --rm -it -v $(pwd):/usr/src/project gcc:4.9
docker daemon --userland-proxy=false
/etc/default/docker 파일에 DOCKER_OPTS 을 추가한 후 docker daemon 을 재시작하면 된다. $ cat /etc/default/docker DOCKER_OPTS="--userland-proxy=false"
docker run --add-host="some.example.com:127.17.0.1"
unable to remount sys readonly: unable to mount sys as readonly max retries reached
오류를 만나면
/etc/sysconfig/docker
파일에 --exec-driver=lxc
추가 후 docker 재시작.
other_args="--selinux-enabled --exec-driver=lxc"
jmap
으로 Heap Dump를 뜰 수 없다.--cap-add=SYS_PTRACE
옵션을 준다.# 설정 안했을 경우 관련 오류 Caused by: sun.jvm.hotspot.debugger.DebuggerException: Can't attach to the process: ptrace(PTRACE_ATTACH, ..) failed for 142: Operation not permitted
vmswitch.sys DRIVER_IRQL_NOT_LESS_OR_EQUAL 어쩌구 오류
/var/lib/docker/containers/*/*.log
에 STDOUT 이 모두 계속 출력되므로 log rotate가 필요하다.