๋์ปค์ ๋ช ๋ น์ด ๋ชจ์
Basic Commands Sytax
docker <option> <command> <ARG...>
- option | ์ต์
- command | ๋ช ๋ น
- ARG... | ๋งค๊ฐ๋ณ์
๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ์ด๋
| attach | build | commit | cp | create | diff | events | exec | export | history | images | import | info | inpect | kill | load | login | logout | logs | pause | port | ps | pull | push | rename | restart | rm | rmi | run | save | search | start | stats | stop | tag | top | unpause | update | version | wait |
Attach local standard input, output, and error streams to a running container.
์คํ๋๊ณ ์๋ ์ปจํ ์ด๋์ ์ ๋ ฅ(stdin
)๊ณผ ์ถ๋ ฅ(stdout
)์ ์ฐ๊ฒฐํ๋ ๋ช ๋ น์ด.
- Syntax
docker attach <option> <containerName, ID>
Build an image from a Dockerfile
Dockerfile๋ก image๋ฅผ ์์ฑํ๋ ๋ช ๋ น์ด.
-
syntax
docker build <option> <dockerfile Path>
-
Local path ์ URL ์ฌ์ฉ ๊ฐ๋ฅ
-
Dockerfile ์ด ์๋ ๊ฒฝ๋ก์์ build ๋ช ๋ น์ ์คํ
Create a new image from a container's changes.
์ปจํ ์ด๋์ ๋ณ๊ฒฝ ์ฌํญ์ ์ด๋ฏธ์ง๋ก ์์ฑํ๋ ๋ช ๋ น์ด.
- Syntax
docker commit <option> <containerName, ID> <repositoryName>/<imageName>:<tag>
Copy files/folders between a container and the local filesystem.
์ปจํ ์ด๋์ Directory/files์ host๋ก ๋ณต์ฌํ๋ ๋ช ๋ น์ด.
- Syntax
docekr cp <containerName>:<path> <hostPath>
Create a new container.
Image๋ก ์ปจํ ์ด๋๋ฅผ ์์ฑํ๋ ๋ช ๋ น์ด.
- Syntax
docker create <option> <imageName, ID> <command> <ARG...>
Inspect changes to files or directories on a container's filesystem.
์ปจํ ์ด๋์์ ๋ณ๊ฒฝ๋ file์ ํ์ธํ๋ ๋ช ๋ น์ด.
-
Syntax
docker diff <containerName, ID>
- ๋ณ๊ฒฝ๋ ํ์ผ ๋น๊ต ๊ธฐ์ค --> ์ปจํ ์ด๋๋ฅผ ์์ฑํ ์ด๋ฏธ์ง์ ๋ด์ฉ
Get real time events from the server.
Docker ์๋ฒ์ ์ผ์ด๋ event๋ฅผ ์ค์๊ฐ์ผ๋ก ์ถ๋ ฅํ๋ ๋ช ๋ น์ด.
-
Syntax
docker events
- ํด๋น ๋ช ๋ น์ด๋ฅผ ์คํํ๊ฒ ๋๋ฉด docker๋ ๋๊ธฐ ์ํ๊ฐ ๋๋ค.
Run a command in a running container.
์ธ๋ถ์์ ์ปจํ ์ด๋ ์์ ๋ช ๋ น์ ์คํํ๋ ๋ช ๋ น์ด.
- Syntax
docker export <option> <containerName, ID> <command> <ARG...>
Export a container's filesystem as a tar archive.
์ปจํ์ด๋์ filesystem์ tar ํ์ผ๋ก ์ ์ฅํ๋ ๋ช ๋ น์ด.
-
Syntax
docker export <containerName, ID>
- ์ปจํ ์ด๋์ ๋ด์ฉ์ด ํ์ค ์ถ๋ ฅ์ผ๋ก ์ถ๋ ฅ๋๋ค.
Show the history of an image.
Image์ history๋ฅผ ์ถ๋ ฅํ๋ ๋ช ๋ น์ด.
-
Syntax
docker history <option> <imageName, ID>
-
CREATED BY
: ๊ฐ๊ฐ์ Image Layer ๊ฐ ์ด๋ค ๋ช ๋ น์ด๋ฅผ ํตํด ์์ฑ๋ฌ๋์ง ํ์. -
SIZE
: Image ๋์คํฌ ํฌ๊ธฐ.IMAGE CREATED CREATED BY SIZE COMMENT a617c1c92774 18 months ago /bin/sh -c #(nop) CMD ["redis-server"] 0B <missing> 18 months ago /bin/sh -c #(nop) EXPOSE 6379 0B <missing> 18 months ago /bin/sh -c #(nop) ENTRYPOINT ["docker-entryโฆ 0B <missing> 18 months ago /bin/sh -c #(nop) COPY file:df205a0ef6e6df89โฆ 374B <missing> 18 months ago /bin/sh -c #(nop) WORKDIR /data 0B <missing> 18 months ago /bin/sh -c #(nop) VOLUME [/data] 0B <missing> 18 months ago /bin/sh -c mkdir /data && chown redis:redis โฆ 0B <missing> 18 months ago /bin/sh -c set -eux; savedAptMark="$(apt-mโฆ 31.6MB <missing> 18 months ago /bin/sh -c #(nop) ENV REDIS_DOWNLOAD_SHA=cdโฆ 0B <missing> 18 months ago /bin/sh -c #(nop) ENV REDIS_DOWNLOAD_URL=htโฆ 0B <missing> 18 months ago /bin/sh -c #(nop) ENV REDIS_VERSION=6.2.1 0B <missing> 18 months ago /bin/sh -c set -eux; savedAptMark="$(apt-maโฆ 4.15MB <missing> 18 months ago /bin/sh -c #(nop) ENV GOSU_VERSION=1.12 0B <missing> 18 months ago /bin/sh -c groupadd -r -g 999 redis && useraโฆ 329kB <missing> 18 months ago /bin/sh -c #(nop) CMD ["bash"] 0B <missing> 18 months ago /bin/sh -c #(nop) ADD file:3c32f1cd03198e141โฆ 69.2MB
-
List images.
Image์ ๋ชฉ๋ก์ ์ถ๋ ฅํ๋ ๋ช ๋ น์ด.
-
Syntax
docker images <option> <imageName>
- ์ต์ ๋ค์ด๋ก๋๋ Docker Image ๊ธฐ์ค์ผ๋ก ์ด๋ฏธ์ง๋ฅผ ํฌ๋ฉงํ
๋ฐ ์ ๋ ฌ.
docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}\t{{.CreatedAt}}" --filter "dangling=false" | tail -n +2 | sort -k4 -r
--filter "dangling=false"
: ์ธ๋ชจ์๋(dangling) ์ด๋ฏธ์ง๋ฅผ ํํฐ๋งํ์ฌ ์ถ๋ ฅ์์ ์ ์ธtail -n +2
: ํ ์ด๋ธ์ ํค๋ ์ ์ธ (์ฒซ๋ฒ์งธ ์ค ์ ์ธํ ๋๋จธ์ง ์ถ๋ ฅ)sort -k4 -r
:-k4
: ๋ค ๋ฒ์งธ ์ด(CreatedAt
)์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ-r
: ์ญ์์ผ๋ก ์ ๋ ฌ
- ์ต์ ๋ค์ด๋ก๋๋ Docker Image ๊ธฐ์ค์ผ๋ก ์ด๋ฏธ์ง๋ฅผ ํฌ๋ฉงํ
๋ฐ ์ ๋ ฌ.
Import the contents from a tarball to create a filesystem image.
tar file๋ก ์์ถ๋ filesystem์ผ๋ก๋ถํฐ image๋ฅผ ์์ฑํ๋ ๋ช ๋ น์ด.
- Syntax
docker import <tar file's URL or-> <repositoryName>/<imageName>:<tag>
Display system-wide information.
์์คํ , Docker Container, Image rotn, setting ๋ฑ์ info๋ฅผ ์ถ๋ ฅํ๋ ๋ช ๋ น์ด.
- Syntax
docker info
Return low-level information on Docker objects.
container, image์ ์ธ๋ถ ์ ๋ณด๋ฅผ JSON ํํ๋ก ์ถ๋ ฅํ๋ ๋ช ๋ น์ด.
- Syntax
docker inspect <option> <containerName of imageName, ID>
- Syntax
docker volume inspect <volumeName>
[ { "CreatedAt": "2020-05-05T19:48:06Z", "Driver": "local", "Labels": null, "Mountpoint": "/var/lib/docker/volumes/f3c60a00000a6b207a0000aaa000f00000000af0fed1e4c5a184d9aaaa0cb5e0/_data", "Name": "f3c60a00000a6b207a0000aaa000f00000000af0fed1e4c5a184d9aaaa0cb5e0", "Options": null, "Scope": "local" } ]
Kill one or more running containers.
์ปจํ ์ด๋๋ฅผ ์ค์งํ๋ ๋ช ๋ น์ด.
- Syntax
docker kill <option> <containerName, ID>
Load an image from a tar archive or STDIN.
tar file๋ก image๋ฅผ ์์ฑํ๋ ๋ช ๋ น์ด.
-
Syntax
docker load <option>
- tar file์ image ์ด๋ฆ๊ณผ ํ๊ทธ๊ฐ ํฌํจ๋์ด ์๋ค.
Log in to a Docker registry.
Docker ๋ ์ง์คํธ๋ฆฌ์ ๋ก๊ทธ์ธ ํ๋ ๋ช ๋ น์ด.
-
Syntax
docker login <option> <dockerRegistryURL>
$ docker login https://index.docker.io/v1
-
Options
-
-u
,--username
์ฌ์ฉ์๋ช -
-p
,--password
๋น๋ฐ๋ฒํธ -
--password-stdin
ํ์ผ์ ํตํ ๋น๋ฐ๋ฒํธ input. Shell ํ์คํ ๋ฆฌ์ password ์ ๋ ฅํ ๊ธฐ๋ก์ ๋จ๊ธฐ์ง ์๊ธฐ ์ํด ํ์ผ์ ๋ฏธ๋ฆฌ ์ ๋ ฅ๋ ์๋ ๋น๋ฐ๋ฒํธ๋ฅผ ์ฌ์ฉํ ์ ์๋ค.$ cat ~/docker_pw.txt | docker login --username 8luebottle --password-stdin
-
Log out from a Docker registry.
Docker ๋ ์ง์คํธ๋ฆฌ์์ ๋ก๊ทธ์์ ํ๋ ๋ช ๋ น์ด.
- Syntax
docker logout <dockerRegistryServerURL>
Fetch the logs of a container.
์ปจํ ์ด๋์ log๋ฅผ ์ถ๋ ฅํ๋ ๋ช ๋ น์ด.
- Syntax
docker logs <containerName, ID>
Pause all processes within one or more containers.
์ปจํ ์ด๋์์ ์คํ๋๊ณ ์๋ ๋ชจ๋ processes๋ฅผ ์ผ์ ์ ์งํ๋ ๋ช ๋ น์ด.
- Syntax
docker pause <containerName, ID>
List port mappings or a specific mapping for the container.
์ปจํ ์ด๋์์ port๊ฐ ์ด๋ ค ์๋์ง ํ์ธํ๋ ๋ช ๋ น์ด.
- Syntax
docker port <containerName, ID> <port>
PS : Process Status
List containers.
ํ์ฌ ์คํ์ค์ธ ์ปจํ ์ด๋์ ๋ชฉ๋ก์ ์ถ๋ ฅํ๋ ๋ช ๋ น์ด.
-
Syntax
docker ps <option>
-
Options
-
-a
,--all
๋ชจ๋ ์ปจํ ์ด๋๋ฅผ ์ถ๋ ฅ
default ๊ฐ์ false๋ก ๋์ด์๋ค. ๊ทธ๋ก์ธํด ๋ชจ๋ ์ปจํ ์ด๋๊ฐ ์ถ๋ ฅ๋๋ ๊ฒ์ด ์๋ ์์๋ ์ปจํ ์ด๋๋ง ์ถ๋ ฅ๋๋ค. ๋ชจ๋ ์ปจํ ์ด๋๋ฅผ ๋ณด๊ณ ์ ํ ๋ ํด๋น option ์ ์ฌ์ฉํ์. -
-l
,--latest
์ ์ผ ์ต์ ์ ์์ฑ๋ ์ปจํ ์ด๋ ์ถ๋ ฅ
์คํ์ค์ด์ง ์์ ์ปจํ ์ด๋๋ ํด๋น๋๋ค. -
-q
,--quite
์คํ์ค์ธ ์ปจํ ์ด๋ ID ๋ง ์ถ๋ ฅ -
--no-trunc
์ปจํ ์ด๋ ๋ชฉ๋ก ์ถ๋ ฅ์ truncate ๋ฅผ ์ ์ฉ์ํค์ง ์์. -
s
,--size
์ด ํ์ผ ์ฌ์ด์ฆ ์ถ๋ ฅ- size: ์ฐ๊ธฐ ๊ฐ๋ฅ ์ฌ์ด์ฆ only
- virtual size: ์ฝ๊ธฐ ์ ์ฉ(read-only) ์ฌ์ด์ฆ์ ์ฐ๊ธฐ ๊ฐ๋ฅ(writable) ์ฌ์ด์ฆ์ ์ด ํฉ
$ docker ps -s CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES SIZE 123a45bcd68 alpine "/bin/sh" n days ago Up n days cheetah 3.95MB (virtual 9.49MB)
-
Pull an image or a repository from a registry.
Docker ๋ ์ง์คํธ๋ฆฌ์์ image๋ฅผ pull๋ฐ๋ ๋ช ๋ น์ด.
-
Syntax
docker pull <option> <repositoryName>/<imageName>:<tag>
- <repositoryName>
- Docker Hub User Name
- Repository Address
- tag๋ฅผ ์ง์ ํด์ฃผ์ง ์์ผ๋ฉด tag๊ฐ ๋ถ์ image๊ฐ ๋ชจ๋ pull ๋๋ฒ๋ฆฐ๋ค.
- <repositoryName>
Push an image or a repository to a registry.
Docker ๋ ์ง์คํธ๋ฆฌ์ image๋ฅผ ์ฌ๋ฆฌ๋ ๋ช ๋ น์ด.
-
Syntax
docker push <repositoryName>/<imageName>:<tag>
- <repositoryName>
- Docker Hub User Name
- Repository Address
- tag๋ฅผ ์ง์ ํด์ฃผ์ง ์์ผ๋ฉด tag๊ฐ ๋ถ์ image๊ฐ ๋ชจ๋ push ๋๋ฒ๋ฆฐ๋ค.
- <repositoryName>
Rename a container. ์ปจํ ์ด๋์ ๋ช ์นญ์ ๋ณ๊ฒฝํ๋ ๋ช ๋ น์ด.
- Syntax
docker rename <oldName> <newName>
Restart one or more containers. ์ปจํ ์ด๋๋ฅผ ์ฌ์์ ์ํค๋ ๋ช ๋ น์ด.
-
Syntax
docker restart <option> <container>
-
Option
-
-t
,--time
n์ด ์ดํ ์ฌ์์ ์ํด.- default: 10s
docker restart -t 5 blueberry-tree
-
Remove one or more containers.
๊ฐ๋์ค์ด์ง ์์ ์ปจํ ์ด๋๋ฅผ ์ญ์ ํ๋ ๋ช ๋ น์ด.
-
Syntax
docker rm <option> <container>
-
Options
-
-f
,--force
์คํ์ค์ธ ์ปจํ ์ด๋๋ฅผ ๊ฐ์ ๋ก ์ญ์ ์ํด.- ์คํ์ค์ธ ์ปจํ
์ด๋๋ ํด๋น ์ต์
(
-f
) ์์ด ์ญ์ ์ํฌ ์ ์๋ค. ์ค๋ฅ ๋ฐ์.$ docker rm sushi-lover Error response from daemon: You cannot remove a running container 123a45bcd6789e0fghi12jk3456l7m8nopq901234567c59ec9b483a4adb7bc41. Stop the container before attempting removal or force remove
- ์คํ์ค์ธ ์ปจํ
์ด๋๋ ํด๋น ์ต์
(
-
-v
,--volumes
์ปจํ ์ด๋์ ํ ๋น๋์ด ์๋ ๋ณผ๋ฅจ์ ์ญ์ ์ํด.
-
Remove one or more images
Run a command in a new container.
์ปจํ ์ด๋๋ฅผ ์์ฑ(create
)ํ๊ณ ์์(start
)์ํค๋ ๋ช ๋ น์ด.
-
Syntax
docker run <options> <image>
-
Options
-d
,--detach
์ปจํ ์ด๋๋ฅผ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์คํ ์ํด.- ๋ช ๋ น์ด ์คํ ํ Container ID ๊ฐ ์ถ๋ ฅ๋๋ค.
-e
,--env
ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํจ.-i
,--interactive
ํ์ค ์ ๋ ฅ(STDIN)์ ์ง์์ ์ผ๋ก ์ด์ด๋๋๋ก ํจ.-m
,--memory
๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ํ ์ํด.- unit: b, k, m, g
--rm
์ปจํ ์ด๋๊ฐ ์ข ๋ฃ ๋ ์ ์๋ ์ญ์ ๋จ.- Test ์ฉ๋๋ก ์ ์ ๋ง๋ค์ด์ ์ฌ์ฉํ๋ ์ปจํ ์ด๋์ ์ฌ์ฉํ๊ธฐ ์ ํฉํ ์ต์ .
-t
,--tty
Teletypewriter: pseudo-TTY ๋ฅผ ํ ๋น ์ํด.- ์คํ์ค์ธ ์ปจํ ์ด๋์ Input ์ ๋จ๋ง ๋๋ฐ์ด์ค(termianl device)๋ก ์งํํ ๊ฒ์์ ๋ช ์.
Save one or more images to a tar archive (streamed to STDOUT by default)
Search the Docker Hub for images. Docker Hub ์ Public ์ด๋ฏธ์ง๋ฅผ ๊ฒ์ํ๋ ๋ช ๋ น์ด.
-
Syntax
docker search <option> <searchKeyword>
- STARS: ์ฆ๊ฒจ์ฐพ๊ธฐ๋ก ๋ฑ๋ก๋ ์
- OFFICIAL: ๊ณต์ ์ด๋ฏธ์ง
- AUTOMATED: Dockerfile์ ํตํด ์๋ ์์ฑ๋ ์ด๋ฏธ์ง
$ docker search rabbitmq NAME DESCRIPTION STARS OFFICIAL AUTOMATED rabbitmq RabbitMQ is an open source multi-protocol meโฆ 4470 [OK] bitnami/rabbitmq Bitnami Docker Image for RabbitMQ 89 [OK] nasqueron/rabbitmqadmin RabbitMQ management plugin CLI tool Lightweiโฆ 1 [OK] bitnami/rabbitmq-exporter 1 circleci/rabbitmq-delayed https://github.com/circleci/rabbitmq-delayedโฆ 1 rabbitmqoperator/cluster-operator The RabbitMQ Cluster Operator Docker Image 1 nasqueron/rabbitmq RabbitMQ wth management, MQTT and STOMP plugโฆ 0 [OK] itisfoundation/rabbitmq 0 rapidfort/rabbitmq RapidFort optimized, hardened image for Rabbโฆ 0 clearlinux/rabbitmq RabbitMQ multi-protocol messaging broker witโฆ 0 corpusops/rabbitmq https://github.com/corpusops/docker-images/ 0 drud/rabbitmq rabbitmq 0 [OK] bitnami/rabbitmq-cluster-operator 0 ibmcom/rabbitmq-exporter-ppc64le 0 newrelic/k8s-nri-rabbitmq New Relic Infrastructure RabbitMQ Integratioโฆ 0 ibmcom/rabbitmq-server-ppc64le 0 ibmcom/rabbitmq-java-client-ppc64le 0 ibmcom/rabbitmq-java-client 0 circleci/rabbitmq This image is for internal use 0
-
Options
-
--limit
n ๊ฐ์ ๋ฆฌ์คํธ๋ง ์ถ๋ ฅ.$ docker search nginx --limit 2 NAME DESCRIPTION STARS OFFICIAL AUTOMATED nginx Official build of Nginx. 17401 [OK] bitnami/nginx Bitnami nginx Docker Image 140 [OK]
-
--filter=stars=n
n ๊ฐ ์ด์ starring ๋ ์ด๋ฏธ์ง ๊ฒ์.$ docker search postgres --filter=stars=150 NAME DESCRIPTION STARS OFFICIAL AUTOMATED postgres The PostgreSQL object-relational database syโฆ 11447 [OK] bitnami/postgresql Bitnami PostgreSQL Docker Image 154 [OK]
-
Start one or more stopped containers. ์ ์ง์ํ์ ์๋ ์ปจํ ์ด๋๋ฅผ ๊ฐ๋์ํค๋ ๋ช ๋ น์ด.
-
Syntax
docker start <options> <container>
$ docker start ada_lovelace
Display a live stream of container(s) resource usage statistics. ์ปจํ ์ด๋์ ์ํ๋ฅผ ํ์ธํ๋ ๋ช ๋ น์ด.
-
Syntax
docker stats <options> <container>
- CPU %: CPU ์ฌ์ฉ๋ฅ
- MEM %: Memrory ์ฌ์ฉ๋ฅ
- PIDS: ์ปจํ
์ด๋์ ์ดํด ์์ฑ๋ ํ๋ก์ธ์ค์ ์ปค๋์ ์ค๋ ๋ ๊ฐ์
$ docker stats ada_lovelace CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS 12a345b67890 ada_lovelace 0.01% 231MiB / 3.844GiB 5.87% 1.95kB / 1.57kB 12.3MB / 20.5kB 109
-
Options
-a
,--all
๋ชจ๋ ์ปจํ ์ด๋ ์ถ๋ ฅ. (์ค์ง์ํ์ ์๋ ์ปจํ ์ด๋๋ ํฌํจ)--no-stream
Live stream ์ ์ ์ฉํ์ง ์๊ณ ์ฒซ ๋ฒ์งธ ์ํ ๊ฒฐ๊ณผ๋ง ์ถ๋ ฅ.
Stop one or more running containers.
์คํ์ค์ธ ์ปจํ ์ด๋๋ฅผ ์ ์ง์ํค๋ ๋ช ๋ น์ด.
-
Syntax
docker stop <options> <container>
$ docker stop big_brother
-
Option
-
-t
,--time
์ปจํ ์ด๋๋ฅผ n ์ด ์ดํ์ ์ ์ง์ํด.- default: 10s
$ docker stop -t 3 big_brother
-
Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
Display the running processes of a container
Unpause all processes within one or more containers
Update configuration of one or more containers
Show the Docker version information.
๋์ปค์ ๋ฒ์ ์ ๋ณด๋ฅผ ์ถ๋ ฅํ๋ ๋ช ๋ น์ด.
-
Syntax
docker-compose --version
result :
docker-compose version 1.25.4, build 8d51620b
pip ๋ฅผ ์ฌ์ฉํ์ฌ ์ต์ ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธ ํ๋ ๋ฒ์ ์๋์ ๊ฐ๋ค.
- Syntax
sudo pip install --upgrade docker-compose
Block until one or more containers stop, then print their exit codes