Docker
Jump to navigation
Jump to search
Overview
Docker 사용법 정리
Basic
Docker 에는 크게 두가지 버전이 있다. CE(Community Edition) 과 EE(Enterprise Edition)이다. CE 는 개인/개발용 무료버전, EE 는 기업/상품용 유료 제품이다.
Installation
Dockerfile
docker 이미지를 생성하는 파일.
Commands
attach
현재 동작중인 container 에 접속한다.
$ sudo docker attach --help Usage: docker attach [OPTIONS] CONTAINER Attach local standard input, output, and error streams to a running container Options: --detach-keys string Override the key sequence for detaching a container --help Print usage --no-stdin Do not attach STDIN --sig-proxy Proxy all received signals to the process (default true)
Ctrl+P, Ctrl+Q 를 차례대로 입력하면 컨테이너를 정지하지 않고, 빠져나올 수 있다.
exec
외부에서 현재 running 중인 container 안의 명령을 실행한다.
$ sudo docker exec --help Usage: docker exec [OPTIONS] CONTAINER COMMAND [ARG...] Run a command in a running container Options: -d, --detach Detached mode: run command in the background --detach-keys string Override the key sequence for detaching a container -e, --env list Set environment variables --help Print usage -i, --interactive Keep STDIN open even if not attached --privileged Give extended privileges to the command -t, --tty Allocate a pseudo-TTY -u, --user string Username or UID (format: <name|uid>[:<group|gid>])
컨테이너 이름 대신 컨테이너 ID 를 사용해도 된다. 하지만 컨테이너가 running 상태인 경우에만 사용할 수 있으며, stop 상태에서는 사용할 수 없다.
이미 실행된 컨테이너에 apt-get, apt, yum 명령으로 패키지를 설치하거나 각종 데몬의 실행/재실행 할 때 유용하다.
Example
$ docker exec hello echo "Hello world!" Hello world!
help
$ sudo docker help Usage: docker COMMAND A self-sufficient runtime for containers Options: --config string Location of client config files (default "/home/pchero/.docker") -D, --debug Enable debug mode --help Print usage -H, --host list Daemon socket(s) to connect to -l, --log-level string Set the logging level ("debug"|"info"|"warn"|"error"|"fatal") (default "info") --tls Use TLS; implied by --tlsverify --tlscacert string Trust certs signed only by this CA (default "/home/pchero/.docker/ca.pem") --tlscert string Path to TLS certificate file (default "/home/pchero/.docker/cert.pem") --tlskey string Path to TLS key file (default "/home/pchero/.docker/key.pem") --tlsverify Use TLS and verify the remote -v, --version Print version information and quit Management Commands: config Manage Docker configs container Manage containers image Manage images network Manage networks node Manage Swarm nodes plugin Manage plugins secret Manage Docker secrets service Manage services stack Manage Docker stacks swarm Manage Swarm system Manage Docker volume Manage volumes Commands: attach Attach local standard input, output, and error streams to a running container build Build an image from a Dockerfile commit Create a new image from a container's changes cp Copy files/folders between a container and the local filesystem create Create a new container diff Inspect changes to files or directories on a container's filesystem events Get real time events from the server exec Run a command in a running container export Export a container's filesystem as a tar archive history Show the history of an image images List images import Import the contents from a tarball to create a filesystem image inspect Return low-level information on Docker objects kill Kill one or more running containers load Load an image from a tar archive or STDIN login Log in to a Docker registry logout Log out from a Docker registry logs Fetch the logs of a container pause Pause all processes within one or more containers port List port mappings or a specific mapping for the container ps List containers pull Pull an image or a repository from a registry push Push an image or a repository to a registry rename Rename a container restart Restart one or more containers rm Remove one or more containers rmi Remove one or more images run Run a command in a new container save Save one or more images to a tar archive (streamed to STDOUT by default) search Search the Docker Hub for images start Start one or more stopped containers stats Display a live stream of container(s) resource usage statistics stop Stop one or more running containers tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE top Display the running processes of a container unpause Unpause all processes within one or more containers update Update configuration of one or more containers version Show the Docker version information wait Block until one or more containers stop, then print their exit codes Run 'docker COMMAND --help' for more information on a command.
image
현재 docker 에 저장된 image 들을 관리한다.
$ sudo docker image help Usage: docker image COMMAND Manage images Options: --help Print usage Commands: build Build an image from a Dockerfile history Show the history of an image import Import the contents from a tarball to create a filesystem image inspect Display detailed information on one or more images load Load an image from a tar archive or STDIN ls List images prune Remove unused images pull Pull an image or a repository from a registry push Push an image or a repository to a registry rm Remove one or more images save Save one or more images to a tar archive (streamed to STDOUT by default) tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE Run 'docker image COMMAND --help' for more information on a command.
ps
컨테이너 리스트를 보여준다.
$ sudo docker ps -h Flag shorthand -h has been deprecated, please use --help Usage: docker ps [OPTIONS] List containers Options: -a, --all Show all containers (default shows just running) -f, --filter filter Filter output based on conditions provided --format string Pretty-print containers using a Go template --help Print usage -n, --last int Show n last created containers (includes all states) (default -1) -l, --latest Show the latest created container (includes all states) --no-trunc Don't truncate output -q, --quiet Only display numeric IDs -s, --size Display total file sizes
rm
하나 혹은 그 이상의 컨테이너를 삭제한다.
$ docker rm --help Usage: docker rm [OPTIONS] CONTAINER [CONTAINER...] Remove one or more containers Options: -f, --force Force the removal of a running container (uses SIGKILL) --help Print usage -l, --link Remove the specified link -v, --volumes Remove the volumes associated with the container
컨테이너 이름 대신 컨테이너 ID 를 사용해도 된다.
Example
$ docker rm hello
rmi
하나 혹은 그 이상의 이미지를 삭제한다.
$ docker rmi --help Usage: docker rmi [OPTIONS] IMAGE [IMAGE...] Remove one or more images Options: -f, --force Force removal of the image --help Print usage --no-prune Do not delete untagged parents
이미지 이름 대신 이미지 ID 를 사용해도 된다.
별도의 태그 이름을 지정하지 않으면, 지정된 이름을 가진 모든 이미지가 삭제된다.
Example
$ docker rmi ubuntu:latest Untagged: ubuntu:latest Untagged: ubuntu@sha256:506e2d5852de1d7c90d538c5332bd3cc33b9cbd26f6ca653875899c505c82687 Deleted: sha256:747cb2d60bbecbda48aff14a8be5c8b913ca69318a6067e57c697f8a78dda06e Deleted: sha256:ec1fd849ff0a8f0aa2fd1acc29ad5dabbc79b89f63b74a4f54e31a7b0a100aa1 Deleted: sha256:e3f6dffa20cf36460d23bfb22e17be6e5339891f8537f32db79887caf832048b Deleted: sha256:c213ffdc9f7032702de5a8e9045fcce2353b7221ef6bf4509e02005cfc858f58 Deleted: sha256:3fddf55a451aa43707518f2d8788c12ee5eb1f1e3075433f5bcf4d445d5c275d Deleted: sha256:0f5ff0cf6a1c53f94b15f03536c490040f233bc455f1232f54cc8eb344a3a368
stop
실행중인 컨테이너를 정지한다.
$ sudo docker stop -h Flag shorthand -h has been deprecated, please use --help Usage: docker stop [OPTIONS] CONTAINER [CONTAINER...] Stop one or more running containers Options: --help Print usage -t, --time int Seconds to wait for stop before killing it (default 10)
See also
- http://www.slideshare.net/pyrasis/docker-fordummies-44424016 - 도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
- http://pyrasis.com/Docker/Docker-HOWTO - Docker 기본 사용법
References
<references />