Docker - 3. Docker Command

2020-02-25

Index


  1. Docker
    1. Docker 개념
    2. Docker Install
    3. Docker Command
    4. Docker Example
    5. Image 만들기
    6. Dockerfile
    7. Docker Compose
    8. Image 저장소

  1. Container Orchestration
    1. Container Orchestration 이란
    2. kubernetes(1)
    3. kubernetes(2)
    4. kubernetes install
    5. kubernetes ui
    6. kubernetes를 이용해 배포해보기
    7. kubectl CLI

  1. Provisioning
    1. Provisioning이란
    2. Ansible
    3. Ansible을 이용해 kubernetes cluster 생성하기

Docker Command

Docker 명령어를 확인해 보겠습니다.
기본적으로 Docker의 명령어는 사이트 에 상세히 나와있습니다.

Docker에서 제공되는 옵션과 명령 종류를 확인해 보겠습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
thinkub0219@instance-1:~$ sudo docker

Usage: docker [OPTIONS] COMMAND

A self-sufficient runtime for containers

Options:
--config string Location of client config files (default "/home/thinkub0219/.docker")
-c, --context string Name of the context to use to connect to the daemon (overrides DOCKER_HOST env var and default context set with
"docker context use")
-D, --debug Enable debug mode
-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/thinkub0219/.docker/ca.pem")
--tlscert string Path to TLS certificate file (default "/home/thinkub0219/.docker/cert.pem")
--tlskey string Path to TLS key file (default "/home/thinkub0219/.docker/key.pem")
--tlsverify Use TLS and verify the remote
-v, --version Print version information and quit

Management Commands:
builder Manage builds
config Manage Docker configs
container Manage containers
context Manage contexts
engine Manage the docker engine
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
trust Manage trust on Docker images
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
info Display system-wide information
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.

Images 검색하기 (Docker Hub)

Docker는 Dockker Hub라는 public repository가 구축되어있습니다.
유명 Linux배포판과 Open Source Project의 Image는 모두 Docker Hub에 공개되어있습니다.

1
sudo docker search ubuntu

image15

Images 목록 확인하기

1
sudo docker images

image16

Image 다운로드하기

1
sudo docker pull [OPTION] name[:TAG|@DIGEST]

image17

Images 삭제하기

Image History 보기

Container 실행(생성)

Container 를 실행하는 명령은 다음과 같습니다.

1
sudo docker run [OPTION] IMAGE[:TAB|@DIGEST] [COMMAND] [ARG...]

자주 사용하는 옵션들

Options Description
-d detached mode(background 모드)
-p Host와 Container Port를 연결(port forwarding)
-v Host와 Container의 Directory를 연결(mount)
-e Container 내에서 사용할 환경변수 설정
-name Container 이름설정
-rm Container(Process) 종료시 Container 자동제거
-it -i와 -t를 동시에 사용한것으로 terminal(키보드) 입력을 위한 옵션
-link Conteinaer 연결

Container 목록 확인하기

Container Stop / Start / Restart

Container 제거

Container Log 보기

Container에 들어가기

Container 안의 명령 실행하기

1
sudo docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

image24

Container 안의 파일 꺼내기(복사하기)

이 외에도 많은 기능들에 대해서는 사이트에서 확인해보면서 사용해 보면 될 것 같습니다.

참고

https://www.docker.com
http://pyrasis.com/book/DockerForTheReallyImpatient
https://www.44bits.io/ko/post/almost-perfect-development-environment-with-docker-and-docker-compose
https://tech.osci.kr/docker/2018/09/10/45749387/
https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html