์ด๋ฒ์๋ Docker Container ๋ช ๋ น์ด๋ค์ ๋ฐํ์ฌ ํ๋ฒ ์์๋ณด๊ฒ ์ต๋๋ค.
์ด๋ฏธ์ง๋ ์ฝ๊ธฐ ์ ์ฉ์ ๋ถ๋ณ ๊ฐ์ผ๋ก ๋ง๋ค์ด์ง๋๋ค. ์ด๋ฌํ ์ด๋ฏธ์ง๋ฅผ ๋ฐํ์ผ๋ก ๋์ปค ์์ง์ ์ปจํ ์ด๋๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ์ด๋ ์ด๋ฏธ์ง์ ํจ๊ป ์ฝ๊ณ ์ฐ๊ธฐ๊ฐ ๊ฐ๋ฅํ ๋ ์ด์ด๋ฅผ ์ถ๊ฐํด์ ๋ง๋ค์ด์ง๋ ๊ฒ์ด ์ปจํ ์ด๋ ์ ๋๋ค. ์ด๋ฒ์๋ ์ปจํ ์ด๋ ๊ตฌ๋, ์ ๊ทผ, ๋ก๊ทธ, ์ด์ ๋ฑ์ ๋ช ๋ น์ ๋ค๋ค๋ณด๊ฒ ์ต๋๋ค. ์ด๋ฏธ์ง์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ปจํ ์ด๋ ๋ช ๋ น๋ dockerd ๋ฐ๋ชฌ์ด ์ ๊ณตํ๋ docker CLI API๋ฅผ ํตํด ์ ๊ณต๋ฉ๋๋ค.
๋์ปค ์ด๋ฏธ์ง๋ ์ปจํ ์ด๋ ๋์๊ณผ ๊ด๋ จ๋ ์ฝํ ์ธ ๋ฅผ ์ ๊ณตํ๊ณ ์ด๋ฅผ ๋ฐํ์ผ๋ก ์ปจํ ์ด๋์ ๋์์ด ์ด๋ฃจ์ด ์ง๋๋ค. ๋ฐ๋ผ์ ์ปจํ ์ด๋ ๋ช ๋ น ๋๋ถ๋ถ์ด ์๋น์ค ์คํ ๋ฐ ์ด์๊ณผ ๊ด๋ จ๋์ด ์์ต๋๋ค.
Container๋ Process๋ค
๋์ปค ์ปจํ ์ด๋๋ ์์ ๋ฐฐ์ด ๋์ปค ์ด๋ฏธ์ง๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ค์ด์ง๋ ์ค๋ ์(snapshot)์ ๋๋ค. ์ด ์ค๋ ์์ ์ฝ๊ธฐ ์ ์ฉ์ ๋์ปค ์ด๋ฏธ์ง ๋ ์ด์ด๋ฅผ (๋ถ๋ณ์ ์ ๋์ค ํ์ผ ์์คํ ์) ๋ณต์ ํ ๊ฒ์ด๊ณ , ๊ทธ ์์ ์ฝ๊ณ ์ฐ๊ธฐ๊ฐ ๊ฐ๋ฅํ ์ปจํ ์ด๋ ๋ ์ด์ด๋ฅผ ๊ฒฐํฉํ๋ฉด ์ปจํ ์ด๋๊ฐ ๋ฉ๋๋ค. ์ด๋ฌํ ๋ ์ด์ด๋ค๋ง ๊ฐ์ง๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋์ํ๋ ๊ฒ์ผ๊น์?
์ปดํจํฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋์์ ํ๋ก์ธ์ค(process)๋ฅผ ํตํด ์ด๋ฃจ์ด์ง๋๋ค. “์ปจํ ์ด๋๋ ๊ฒฉ๋ฆฌ๋ ๊ณต๊ฐ์์ ํ๋ก์ธ์ค๊ฐ ๋์ํ๋ ๊ธฐ์ .” ์ด๋ผ๋ ๋ง์ ๊ธฐ์ต ํด๋ณด๊ฒ ์ต๋๋ค. ์ปจํ ์ด๋๋ ๋ฐ๋ก ํ๋ก์ธ์ค ๊ฒฉ๋ฆฌ ๊ธฐ์ (namespaces, cgroups, chroot)์ ํ์ค์ผ๋ก ์ ์๋ OCI(Open Container Initiative)๋ก ์ปจํ ์ด๋ ํฌ๋งท๊ณผ ๋ฐํ์์ ๋ํ ๊ฐ๋ฐฉํ ์ ๊ณ ํ์ค์ ๋ง๋ค๊ธฐ ์ํ ๋ชฉ์ ์ผ๋ก ๋ฆฌ๋ ์ค ํ์ด๋ฐ์ด์ (Linux Foundation)์ ์ง์์ ๋ฐ์ ๊ตฌ์ฑ๋ ์คํ ํ๋ก์ ํธ ์ ๋๋ค.
๋ช ๋ น์ด docker run์ ์ฌ์ฉํ๋ฉด ์ปจํ ์ด๋๊ฐ ๋์ํ๊ฒ ๋๊ณ , ๊ฐ์์ ๊ฒฉ๋ฆฌ ํ๊ฒฝ์ ๋ ๋ฆฝ๋ ํ๋ก์ธ์ค๊ฐ ๋์ํฉ๋๋ค. ๋ง์น ์๋ฒ ํธ์คํธ ์ด์์ฒด์ ๊ฐ ๋ ๋ฆฝ์ ์ผ๋ก ๋์ํ๋ ๊ฒ๊ณผ ์ ์ฌํ๋ค๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋ฆฌ๋ ์ค ํธ์คํธ ์ด์์ฒด์ ๋ฅผ ๋ถํ ํ๋ฉด PID 1๋ฒ์ init(systemd) ํ๋ก์ธ์ค๊ฐ ๋์ํ๋ฉฐ ์ด ํ๋ก์ธ์ค๋ ๋๋จธ์ง ๋ชจ๋ ์์คํ ํ๋ก์ธ์ค์ ๋ถ๋ชจ ํ๋ก์ธ์ค๊ฐ ๋ฉ๋๋ค.
์ด์ฒ๋ผ ๋ ๋ฆฝ๋ ํธ์คํธ ์ด์์ฒด์ ๋ init ํ๋ก์ธ์ค์ ๊ฐ์ ์ต์์ ๋ถ๋ชจ ํ๋ก์ธ์ค๊ฐ ํ์ํฉ๋๋ค. ๊ทธ๋ผ ๋์ปค ์ปจํ ์ด๋์ PID 1๋ฒ ํ๋ก์ธ์ค๋ init ํ๋ก์ธ์ค์ผ๊น? ๊ฐ๋จํ ํ ์คํธ๋ฅผ ํตํด ํ์ธํด ๋ณด๊ฐฐ์ต๋๋ค.
# ํ์ฌ host์์ ์คํ์ค์ธ shell process id
toby@tobykakao:~$ echo $$
3271
# centos 8 ๋ฒ์ ์ด๋ฏธ์ง ๋ค์ด๋ก๋ ํ Container bash ๋ชจ๋๋ก ์ ์
toby@tobykakao:~$ docker run -it centos:8 bash
[root@9edeb3472cb8 /]# echo $$
1
[root@9edeb3472cb8 /]# exit
exit
# ๋ค๋ฅธ ํฐ๋ฏธ๋์์ ์คํ์ค์ธ PID ์กฐํ
toby@tobykakao:~$ ps -ef | grep 3271
toby 3271 3263 0 11:38 pts/0 00:00:00 bash
toby 13626 3271 99 11:57 pts/0 00:00:00 ps -ef
toby 13627 3271 0 11:57 pts/0 00:00:00 grep --color=auto 3271
# /proc์ ํ์ namespace(ns) ๊ฒฝ๋ก ํ์ธ
toby@tobykakao:~$ cd /proc/3271
toby@tobykakao:/proc/3271$ ls -l
total 0
dr-xr-xr-x 2 toby toby 0 Nov 1 11:59 attr
-rw-r--r-- 1 toby toby 0 Nov 1 11:59 autogroup
-r-------- 1 toby toby 0 Nov 1 11:59 auxv
-r--r--r-- 1 toby toby 0 Nov 1 11:59 cgroup
--w------- 1 toby toby 0 Nov 1 11:59 clear_refs
-r--r--r-- 1 toby toby 0 Nov 1 11:55 cmdline
-rw-r--r-- 1 toby toby 0 Nov 1 11:59 comm
-rw-r--r-- 1 toby toby 0 Nov 1 11:59 coredump_filter
-r--r--r-- 1 toby toby 0 Nov 1 11:59 cpuset
lrwxrwxrwx 1 toby toby 0 Nov 1 11:55 cwd -> /proc/3271
-r-------- 1 toby toby 0 Nov 1 11:55 environ
lrwxrwxrwx 1 toby toby 0 Nov 1 11:54 exe -> /usr/bin/bash
dr-x------ 2 toby toby 4 Nov 1 11:55 fd
dr-xr-xr-x 2 toby toby 0 Nov 1 11:59 fdinfo
-rw-r--r-- 1 toby toby 0 Nov 1 11:59 gid_map
-r-------- 1 toby toby 0 Nov 1 11:59 io
-r-------- 1 toby toby 0 Nov 1 11:59 ksm_merging_pages
-r-------- 1 toby toby 0 Nov 1 11:59 ksm_stat
-r--r--r-- 1 toby toby 0 Nov 1 11:59 latency
-r--r--r-- 1 toby toby 0 Nov 1 11:59 limits
-rw-r--r-- 1 toby toby 0 Nov 1 11:59 loginuid
dr-x------ 2 toby toby 0 Nov 1 11:55 map_files
-r--r--r-- 1 toby toby 0 Nov 1 11:55 maps
-rw------- 1 toby toby 0 Nov 1 11:59 mem
-r--r--r-- 1 toby toby 0 Nov 1 11:59 mountinfo
-r--r--r-- 1 toby toby 0 Nov 1 11:59 mounts
-r-------- 1 toby toby 0 Nov 1 11:59 mountstats
dr-xr-xr-x 54 toby toby 0 Nov 1 11:59 net
dr-x--x--x 2 toby toby 0 Nov 1 11:59 ns
-r--r--r-- 1 toby toby 0 Nov 1 11:59 numa_maps
-rw-r--r-- 1 toby toby 0 Nov 1 11:59 oom_adj
-r--r--r-- 1 toby toby 0 Nov 1 11:59 oom_score
-rw-r--r-- 1 toby toby 0 Nov 1 11:59 oom_score_adj
-r-------- 1 toby toby 0 Nov 1 11:59 pagemap
-r-------- 1 toby toby 0 Nov 1 11:59 personality
-rw-r--r-- 1 toby toby 0 Nov 1 11:59 projid_map
lrwxrwxrwx 1 toby toby 0 Nov 1 11:55 root -> /
-rw-r--r-- 1 toby toby 0 Nov 1 11:59 sched
-r--r--r-- 1 toby toby 0 Nov 1 11:59 schedstat
-r--r--r-- 1 toby toby 0 Nov 1 11:59 sessionid
-rw-r--r-- 1 toby toby 0 Nov 1 11:59 setgroups
-r--r--r-- 1 toby toby 0 Nov 1 11:59 smaps
-r--r--r-- 1 toby toby 0 Nov 1 11:59 smaps_rollup
-r-------- 1 toby toby 0 Nov 1 11:59 stack
-r--r--r-- 1 toby toby 0 Nov 1 11:38 stat
-r--r--r-- 1 toby toby 0 Nov 1 11:59 statm
-r--r--r-- 1 toby toby 0 Nov 1 11:55 status
-r-------- 1 toby toby 0 Nov 1 11:59 syscall
dr-xr-xr-x 3 toby toby 0 Nov 1 11:59 task
-rw-r--r-- 1 toby toby 0 Nov 1 11:59 timens_offsets
-r--r--r-- 1 toby toby 0 Nov 1 11:59 timers
-rw-rw-rw- 1 toby toby 0 Nov 1 11:59 timerslack_ns
-rw-r--r-- 1 toby toby 0 Nov 1 11:59 uid_ma
# ํธ์คํธ ์ด์์ฒด์ ์ PID 1๋ฒ๊ณผ ํ์ฌ host์์ ์คํ์ค์ธ shell process ๋น๊ต
toby@tobykakao:/$ sudo ls -l /proc/1/ns
total 0
lrwxrwxrwx 1 root root 0 Nov 1 11:34 cgroup -> 'cgroup:[4026531835]'
lrwxrwxrwx 1 root root 0 Nov 1 12:00 ipc -> 'ipc:[4026531839]'
lrwxrwxrwx 1 root root 0 Nov 1 11:35 mnt -> 'mnt:[4026531841]'
lrwxrwxrwx 1 root root 0 Nov 1 12:00 net -> 'net:[4026531840]'
lrwxrwxrwx 1 root root 0 Nov 1 11:55 pid -> 'pid:[4026531836]'
lrwxrwxrwx 1 root root 0 Nov 1 12:00 pid_for_children -> 'pid:[4026531836]'
lrwxrwxrwx 1 root root 0 Nov 1 12:00 time -> 'time:[4026531834]'
lrwxrwxrwx 1 root root 0 Nov 1 12:00 time_for_children -> 'time:[4026531834]'
lrwxrwxrwx 1 root root 0 Nov 1 12:00 user -> 'user:[4026531837]'
lrwxrwxrwx 1 root root 0 Nov 1 12:00 uts -> 'uts:[4026531838]'
toby@tobykakao:/$ sudo ls -l /proc/3271/ns
total 0
lrwxrwxrwx 1 toby toby 0 Nov 1 12:01 cgroup -> 'cgroup:[4026531835]'
lrwxrwxrwx 1 toby toby 0 Nov 1 12:01 ipc -> 'ipc:[4026531839]'
lrwxrwxrwx 1 toby toby 0 Nov 1 12:01 mnt -> 'mnt:[4026531841]'
lrwxrwxrwx 1 toby toby 0 Nov 1 12:01 net -> 'net:[4026531840]'
lrwxrwxrwx 1 toby toby 0 Nov 1 12:01 pid -> 'pid:[4026531836]'
lrwxrwxrwx 1 toby toby 0 Nov 1 12:01 pid_for_children -> 'pid:[4026531836]'
lrwxrwxrwx 1 toby toby 0 Nov 1 12:01 time -> 'time:[4026531834]'
lrwxrwxrwx 1 toby toby 0 Nov 1 12:01 time_for_children -> 'time:[4026531834]'
lrwxrwxrwx 1 toby toby 0 Nov 1 12:01 user -> 'user:[4026531837]'
lrwxrwxrwx 1 toby toby 0 Nov 1 12:01 uts -> 'uts:[4026531838]'
์์ ๋ด์ฉ์ ์ ๋ฆฌํด ๋ณด๋ฉด docker run~ ์ํ ์ PID ๋ค์์คํ์ด์ค ์ปค๋ ๊ธฐ๋ฅ์ ํตํด ์์คํ ์ 1๋ฒ ํ๋ก์ธ์ค(init)์ PID(4026531836)๋ฅผ ๊ณต์ ํ๊ณ ๊ทธ ํ์๋ก ํ๋ก์ธ์ค๋ฅผ ๊ฒฉ๋ฆฌํฉ๋๋ค. ์ด๋ ๊ฒ ๊ฒฉ๋ฆฌ๋ ํ๋ก์ธ์ค๋ฅผ ๋ฃจํธ๋ก ๋ณ๊ฒฝํ๋ chroot ์ปค๋ ๊ธฐ๋ฅ์ ํตํด ๋ ๋ฆฝ๋ 1๋ฒ PID๋ฅผ ๊ฐ๊ฒ ๋๊ณ , ์ปจํ ์ด๋ ๋์ ์ ํ์ํ ์์์ ๋ํ ํ ๋น์ cgroups ์ปค๋ ๊ธฐ๋ฅ์ ํตํด ์ด๋ฃจ์ด์ง๋๋ค.
๋ฐ๋ผ์, ๋์ปค ์ปจํ ์ด๋๋ฅผ ์ดํดํ๊ธฐ ์ํด์๋ ์ปจํ ์ด๋์ ์ ๊ณต๋๋ ์ปค๋ ๊ธฐ์ ์ ์ดํดํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ์ด์ ๋ถํฐ ์ปจํ ์ด๋๋ฅผ ์คํ, ์ด์, ๊ด๋ฆฌํ๋ ๋ช ๋ น์ด์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.
Container ์คํ
์ปจํ ์ด๋์ ์คํ์ ์ํด docker run ๋ช ๋ น์ ์ฌ์ฉํ๋ฉด ํด๋น ๋์ปค ์ด๋ฏธ์ง ๋ณต์ฌ๋ณธ ์ค๋ ์ ๋ ์ด์ด ์์ ์ฝ๊ณ ์ฐ๊ธฐ๊ฐ ๊ฐ๋ฅํ ์ปจํ ์ด๋ ๋ ์ด์ด๋ฅผ ์ถ๊ฐํ ๋ค docker start ๋ช ๋ น์ผ๋ก ์ปจํ ์ด๋๋ฅผ ์์ํฉ๋๋ค. ์ด๋ ๊ฒ ์คํ๋ ์ปจํ ์ด๋๋ฅผ ์กฐํํ๋ ๋ฐฉ๋ฒ์ docker ps ๋ช ๋ น์ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. ๋ฆฌ๋ ์ค ๋ช ๋ น์ด์ธ ps(Process Status)๋ ๋ฆฌ๋ ์ค ํธ์คํธ์์ ์คํ ์ค์ธ ํ๋ก์ธ์ค๋ฅผ ์กฐํํ๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. ์ด์ฒ๋ผ ์ปจํ ์ด๋ ๋ํ ํ๋ก์ธ์ค๋ผ๋ ์๋ฏธ์์ docker ps ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค.
docker run์ ์๋นํ ๋ง์ ์ต์ ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ๊ทธ๋งํผ ์ปจํ ์ด๋ ๋ด๋ถ์ ์ ํ๋ฆฌ์ผ์ด์ ๋์์ ์ธ์ธํ๊ฒ ์ ์ดํ ์ ์๋ค๋ ์๋ฏธ์ด๊ธฐ๋ ํ๋ค. ์ฌ๊ธฐ์๋ ์ฃผ์ ์ต์ ๋ง ๋ค๋ค๋ณด๊ฒ ์ต๋๋ค. ํ๋ฒ docker run ๋ช ๋ น์ ์ฌ์ฉํ๊ธฐ ์ ์ ์๋์ผ๋ก ์ปจํ ์ด๋๋ฅผ ์ ์ดํ๋ ๊ณผ์ ์ ์ค์ตํด ๋ณด๊ฒ ์ต๋๋ค.
# docker create๋ run๊ณผ ๋ฌ๋ฆฌ container ๋ด๋ถ ์ ๊ทผ์ ํ์ง ์๊ณ ์์ฑ(snapshot)๋ง ์ํ
toby@tobykakao:/$ docker create -it --name container-test1 ubuntu:14.04
Unable to find image 'ubuntu:14.04' locally
14.04: Pulling from library/ubuntu
d1a5a1e51f25: Pull complete
75f8eea31a63: Pull complete
a72d031efbfb: Pull complete
Digest: sha256:64483f3496c1373bfd55348e88694d1c4d0c9b660dee6bfef5e12f43b9933b30
Status: Downloaded newer image for ubuntu:14.04
513f21b43af310b4769680c0e795f087aca3e2b9c6a93998036a1f410cc6aead
toby@tobykakao:/$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
513f21b43af3 ubuntu:14.04 "/bin/bash" About a minute ago Created container-test1
# docker ps ๋ช
๋ น์ status๋ฅผ ๋ณด๋ฉด start๊ฐ ์๋ 'created'์์ ์ ์ ์๋ค
# ์์ฑ๋ snapshot์ ๋์์ํจ๋ค.
toby@tobykakao:/$ docker start container-test1
container-test1
toby@tobykakao:/$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
513f21b43af3 ubuntu:14.04 "/bin/bash" 3 minutes ago Up 4 seconds container-test1
# Container์ ์ ์ํด ๋ณด๊ฒ ์ต๋๋ค. (docker attach ๋ช
๋ น์ ์คํ์ค์ธ ์ดํ๋ฆฌ์ผ์ด์
์ปจํ
์ด๋์ ๋จ์ํ ์กฐํ ์์
์์ ์ ์ฉ)
toby@tobykakao:~$ docker attach container-test1
root@513f21b43af3:/#
root@513f21b43af3:/# exit
exit
# ๋น ์ ธ๋์จ ์ปจํ
์ด๋๊ฐ ๊ฐ์ ์ข
๋ฃ๋์ด ์ญ์ ๋๋ค.
toby@tobykakao:~$ docker rm container-test1
container-test1
- ์์ ์์ ์ผ๋ก Docker run์ ์ํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋์ต๋๋ค.
toby@tobykakao:~$ docker attach container-test1
root@513f21b43af3:/#
root@513f21b43af3:/# exit
exit
toby@tobykakao:~$ docker rm container-test1
container-test1
toby@tobykakao:~$ docker run -it --name container-test1 ubuntu:14.04 bash
root@f534ea7ec0c3:/# exit
exit
toby@tobykakao:~$ docker rm container-test1
container-test1
# ๋ค๋ฅธ ํฐ๋ฏธ๋์์ docker ps๋ฅผ ํตํด ์คํ๋ container๋ฅผ ์กฐํํ๋ค
toby@tobykakao:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
eb81a4675f5 ubuntu:14.04 "bash" 45 seconds ago Up 44 seconds container-test1
# ์ปจํ
์ด๋์ ํธ์คํธ๋ช
์ ์กฐํํ๋ค.
$ docker run -it --name container-test1 ubuntu:14.04 hostname
6938b859424f
์ถ๊ฐ๋๋ docker run์ ํน์ง์ ํธ์คํธ ์๋ฒ์ ubuntu:14.04 ์ด๋ฏธ์ง๊ฐ ๋ค์ด๋ก๋๋์ด ์์ง ์์๋ ๋ก์ปฌ์ ์กด์ฌํ์ง ์๋ ์ด๋ฏธ์ง๋ฅผ ๋์ปค ํ๋ธ์์ ์๋์ผ๋ก ๋ค์ด๋ก๋ํ๋ค๋ ์ ๊ณผ ๋ง์ง๋ง์ ํด๋น ์ปจํ ์ด๋์ ์คํํ ๋ช ๋ น์ ์ ๋ ฅํ๋ฉด ์ปจํ ์ด๋ ๋์๊ณผ ํจ๊ป ์ฒ๋ฆฌ๋๋ค๋ ์ ์ด ์์ต๋๋ค.
docker run = [pull] + create + start + [command]
docker run์์ ์์ฃผ ์ฌ์ฉํ๋ ์ต์ ์ ์๋ ํ์ ์ ๋ฆฌํด ๋ณด๊ฒ ์ต๋๋ค.
์ต์ | ์ค๋ช |
-i, --interactive | ๋ํ์ ๋ชจ๋ ์ด๊ธฐ |
-t | TTY(๋จ๋ง ๋๋ฐ์ด์ค) ํ ๋น |
-d, --detach=true | ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์ปจํ ์ด๋ ์คํ ํ ์ปจํ ์ด๋ ID ๋ฑ๋ก |
--name | ์คํ๋๋ ์ปจํ ์ด๋์ ์ด๋ฆ ๋ถ์ฌ(๋ฏธ์ง์ ์ ์๋์ผ๋ก ๋ถ์ฌ๋จ; ๋์ ๋๋ฆฌ ์๋ ๋๋ค ์ ํ) |
--rm | ์ปจํ ์ด๋ ์ข ๋ฃ ์ ์๋์ผ๋ก ์ปจํ ์ด๋ ์ ๊ฑฐ |
--restart | ์ปจํ ์ด๋ ์ข ๋ฃ ์ ์ ์ฉํ ์ฌ์์ ์ ์ฑ ์ง์ (no, on-failure, always, unless-stopped) |
--env | ์ปจํ ์ด๋์ ํ๊ฒฝ ๋ณ์ ์ง์ (--env-file์ ์ฌ๋ฌ ํ๊ฒฝ ๋ณ์๋ฅผ ํ์ผ๋ก ์์ฑํ์ฌ ์ง์ ํ๋ ๋ฐฉ๋ฒ) |
-v, --volume=ํธ์คํธ๊ฒฝ๋ก:์ปจํ ์ด๋๊ฒฝ๋ก | ํธ์คํธ ๊ฒฝ๋ก์ ์ปจํ ์ด๋ ๊ฒฝ๋ก์ ๊ณต์ ๋ณผ๋ฅจ ์ค์ (Bind mount) |
-h | ์ปจํ ์ด๋์ ํธ์คํธ๋ช ์ง์ (๋ฏธ์ง์ ์ ์ปจํ ์ด๋ ID๊ฐ ํธ์คํธ๋ช ์ผ๋ก ๋ฑ๋ก) |
-p [Host ํฌํธ]:[Container ํฌํธ], --publish | ํธ์คํธ ํฌํธ์ ์ปจํ ์ด๋ ํฌํธ ์ฐ๊ฒฐ |
-P, --publish-all=[true | false] | ์ปจํ ์ด๋ ๋ด๋ถ์ ๋ ธ์ถ๋ (expose)๋ ํฌํธ๋ฅผ ํธ์คํธ ์์์ ํฌํธ์ ๊ฒ์ |
--link=[container:container_id] | ๋์ผ ํธ์คํธ์ ๋ค๋ฅธ ์ปจํ ์ด๋์ ์ฐ๊ฒฐ ์ค์ ์ผ๋ก IP๊ฐ ์๋ ์ปจํ ์ด๋์ ์ด๋ฆ์ ์ด์ฉํด ํต์ |
ํ๋ฒ ์ฌ๋ฌ๊ฐ์ง docker run ๋ช ๋ น์ ์ฌ์ฉํด ๋ณด๊ฒ ์ต๋๋ค.
toby@tobykakao:~$ docker pull mysql:8.0
8.0: Pulling from library/mysql
8b4274ea61c5: Already exists
08ba006fa9b4: Already exists
92a1aa4ee2ea: Already exists
df48654477e3: Already exists
a3bc7a62e19a: Already exists
ac2152ccfb17: Pull complete
4855413356a2: Pull complete
e050fccf8a37: Pull complete
f0f86890bcfb: Pull complete
92dde3d18839: Pull complete
ad11f03a0bf4: Pull complete
Digest: sha256:bf79508626d6cad5bd82ea762109690e42467b1eefedab27946eccd69ab23069
Status: Downloaded newer image for mysql:8.0
docker.io/library/mysql:8.0
toby@tobykakao:~$ docker images | grep mysql
mysql8 1.0 257c7d00682b 35 hours ago 618MB
mysql 8 07b15f39a8d0 2 weeks ago 600MB
mysql 8.0 e5b1f8113899 2 weeks ago 608MB
toby@tobykakao:~$ docker run -it mysql:8.0 /bin/bash
bash-5.1# cat /etc/os-release
NAME="Oracle Linux Server"
VERSION="9.4"
ID="ol"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="9.4"
PLATFORM_ID="platform:el9"
PRETTY_NAME="Oracle Linux Server 9.4"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:oracle:linux:9:4:server"
HOME_URL="https://linux.oracle.com/"
BUG_REPORT_URL="https://github.com/oracle/oracle-linux"
ORACLE_BUGZILLA_PRODUCT="Oracle Linux 9"
ORACLE_BUGZILLA_PRODUCT_VERSION=9.4
ORACLE_SUPPORT_PRODUCT="Oracle Linux"
ORACLE_SUPPORT_PRODUCT_VERSION=9.4
# Container Stop - docker ps -a๋ก ์กฐํ
toby@tobykakao:~$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b89bf83a0bf6 mysql:8.0 "docker-entrypoint.s\u2026" 5 minutes ago Exited (1) 2 seconds ago interesting_volhard
9edeb3472cb8 centos:8 "bash" 28 minutes ago Exited (0) 27 minutes ago optimistic_blackwell
b0efa09a7449 centos:8 "bash" 29 minutes ago Exited (130) 28 minutes ago sweet_hofstadter
da6c698a2077 httpd:latest "/bin/bash" 4 days ago Exited (129) 4 days ago webserver
2f2917a74b78 nginx "/docker-entrypoint.\u2026" 3 weeks ago Exited (255) 2 weeks ago 0.0.0.0:80->80/tcp, :::80->80/tcp webapp
8ad81ee3e360 busybox "echo 'Hello World'" 3 weeks ago Exited (0) 3 weeks ago zealous_jones
12a314e0ce74 busybox "sh" 3 weeks ago Exited (0) 3 weeks ago clever_archimedes
1d28ecb555b4 busybox "sh" 3 weeks ago Exited (0) 3 weeks ago
# ์ปจํ
์ด๋ stop! ํ docker ps -a๋ก ์กฐํ.
toby@tobykakao:~$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ba5adeb0ddcb mysql:5.7 "docker-entrypoint.s…" 54 seconds ago Exited (0) 3 seconds ago competent_chaplygin
...
# docker start๋ก ์ปจํ
์ด๋ ์ด๋ฆ, ID๋ฅผ ํตํด ์์ ๊ฐ๋ฅ.
toby@tobykakao:~$ docker start ba5adeb0ddcb
ba5adeb0ddcb
# docker ps
toby@tobykakao:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ba5adeb0ddcb mysql:5.7 "docker-entrypoint.s…" About a minute ago Up 5 seconds 3306/tcp, 33060/tcp upbeat_ellis
# docker exec๋ฅผ ์ด์ฉํ์ฌ container์ ์ ๊ทผ.
toby@tobykakao:~$ docker exec -it ba5adeb0ddcb bash
root@ba5adeb0ddcb:/# cd /var/lib/mysql
root@ba5adeb0ddcb:/var/lib/mysql# ls
... dockerdb
# ์ข
๋ฃ์ํค์ง ์๊ณ ์ปจํ
์ด๋๋ฅผ ๋น ์ ธ๋๊ฐ๋ ค๋ฉด ctrl + p + q๋ฅผ ๋์์ ์
๋ ฅ.
root@ba5adeb0ddcb:/#
# ์ปจํ
์ด๋ ๋ด๋ถ IP ํ์ธ. ์ปจํ
์ด๋ ์ด๋ฆ์ ๋์ปค์์ ์๋ ์ง์ ๋จ.
toby@tobykakao:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4f8e315344ef mysql:5.7 "docker-entrypoint.s…" 5 minutes ago Up 5 minutes 3306/tcp, 33060/tcp flamboyant_nash
$ docker inspect flamboyant_nash | grep IPAddress
"SecondaryIPAddresses": null,
"IPAddress": "172.17.0.5",
"IPAddress": "172.17.0.5",
# ์ปจํ
์ด๋ ์ฌ์ ์.
toby@tobykakao:~$ docker exec -it flamboyant_nash bash
root@ba5adeb0ddcb:/#
# ์ ์ค์ต๊ณผ ๊ฐ์ ๋ช
๋ น์ ๋ค๋ฅธ ํฐ๋ฏธ๋์์ ์๋ก ์คํํ๋ฉด ์๋ก์ด ์ปจํ
์ด๋๊ฐ ์๋ก์ด ์ด๋ฆ์ผ๋ก ์คํ๋จ.
toby@tobykakao:~$ docker run -it mysql:5.7 bash
root@ba5adeb0ddcb:/#
Container ๋ชจ๋ํฐ๋ง ๋๊ตฌ cAdvisor Container ์คํ
MacBook - ARM64 ํ๊ฒฝ์์๋ ์๋ X → ์ง์ ์ํจ. (์ ๊ฐ ํ ์คํธ ํด๋ณด๊ธฐ์..? ์๋์๋ ์์ต๋๋ค.)
- ์๋น์ค ์ด์์ ํ๋ฉด์ ํ์ํ ์์คํ Metric(CPU/๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ฅ , ๋คํธ์ํฌ ํธ๋ํฝ ๋ฑ)์ ๋ชจ๋ํฐ๋ง ํ๋ฉด์ ํน์ด์ฌํญ์ด ์์ ๋ ๋์ํ๊ธฐ ์ํด ๋ชจ๋ํฐ๋ง์ ์ํํ๋ ์ญํ ์ ํฉ๋๋ค.
- ๊ทธ๋ฌ๋ ์ปจํ ์ด๋๋ผ๋ ํ๊ฒฝ์์๋ ๊ธฐ์กด ๋ชจ๋ํฐ๋ง ๋๊ตฌ๋ก๋ container ๋ชจ๋ํฐ๋ง ์งํ์ด ์ด๋ ต์ต๋๋ค.
- ์ด๋ฌํ ๋ฌธ์ ์ ์ ํด๊ฒฐํ๊ณ ์ปจํ ์ด๋๋ฅผ ๋ชจ๋ํฐ๋งํ๊ธฐ ์ํ ๋๊ตฌ๋ก ๊ตฌ๊ธ์์ ์ ๊ณตํ๋ cAdvisor(Container Advisor)๋ฅผ ๋ง์ด ์ฌ์ฉํฉ๋๋ค.
toby@tobykakao:~$ docker run \
> --volume=/:/rootfs:ro \
> --volume=/var/run:/var/run:rw \
> --volume=/sys:/sys:ro \
> --volume=/var/lib/docker/:/var/lib/docker:ro \
> --publish=9559:8080 \
> --detach=true \
> --name=cadvisor \
> google/cadvisor:latest
Unable to find image 'google/cadvisor:latest' locally
latest: Pulling from google/cadvisor
ff3a5c916c92: Pull complete
44a45bb65cdf: Pull complete
0bbe1a2fe2a6: Pull complete
Digest: sha256:815386ebbe9a3490f38785ab11bda34ec8dacf4634af77b8912832d4f85dca04
Status: Downloaded newer image for google/cadvisor:latest
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
3c7f1ebd39ec1a4a66e9c4d204c7fadf40dd79d8bdc8356d133e53fad693a46a
toby@tobykakao:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
08878e469965 google/cadvisor:latest "/usr/bin/cadvisor -..." 38 seconds ago Up 37 seconds 0.0.0.0:9559->8080/tcp cadvisor
์น ์๋น์ค ์คํ์ ์ํ Ngnix ์ปจํ ์ด๋ ์คํ ์์
Ngnix ์ปจํ ์ด๋ ์คํ ์ค์ต์ ํ๋ฒ ํด๋ณด๊ฒ ์ต๋๋ค.
# Nginx ์ด๋ฏธ์ง๋ฅผ ๋ค์ด๋ก๋
toby@tobykakao:~$ docker pull nginx:1.18
1.18: Pulling from library/nginx
15cb40b9c4df: Pull complete
f54db86c19cf: Pull complete
da53e28db95d: Pull complete
6d4f0a6cbe0d: Pull complete
2d9307d825c8: Pull complete
Digest: sha256:e90ac5331fe095cea01b121a3627174b2e33e06e83720e9a934c7b8ccc9c55a0
Status: Downloaded newer image for nginx:1.18
docker.io/library/nginx:1.18
# ์ด๋ฏธ์ง ํ์ธ
toby@tobykakao:~$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql8 1.0 257c7d00682b 4 days ago 618MB
debian latest d36fff645336 2 weeks ago 139MB
mysql 8 07b15f39a8d0 2 weeks ago 600MB
mysql 8.0 e5b1f8113899 2 weeks ago 608MB
nginx latest 048e09038596 4 weeks ago 197MB
busybox latest 63cd0d5fb10d 5 weeks ago 4.04MB
daehyunbigbread/httpd 3.0 721aa0022a96 3 months ago 178MB
debian-httpd 2.0 721aa0022a96 3 months ago 178MB
httpd latest 721aa0022a96 3 months ago 178MB
ubuntu 14.04 55b7b4f7c5d6 2 years ago 187MB
centos 8 e6a0117ec169 3 years ago 272MB
nginx 1.18 9b05b72dd160 3 years ago 126MB
google/cadvisor latest eb1210707573 5 years ago 69.6MB
# Nginx ์ปจํ
์ด๋๋ฅผ ์คํ. ํ๋์ Nginx ์๋ฒ ๊ตฌ๋์ผ๋ก ๋ณด๋ฉด ๋จ.
toby@tobykakao:~$ docker run --name webserver1 -d -p 8001:80 nginx:1.18
4185646d8fc886a5be5eabef950bd64553a61058a57c8f2900343b8be99b9d7f
- -d : ๋ฐฑ๊ทธ๋ผ์ด๋ ์คํ
- --name : ์ปจํ ์ด๋ ์ด๋ฆ ์ง์
- -p : ํธ์คํธ ํฌํธ์ ์ปจํ ์ด๋ ํฌํธ ๋งคํ (ํธ์คํธ 8001 ํฌํธ๋ฅผ ์ปจํ ์ด๋์ 80 ํฌํธ๋ก ์ฐ๊ฒฐ)
# ์ปจํ
์ด๋ ์ํ ํ์ธ
toby@tobykakao:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4185646d8fc8 nginx:1.18 "/docker-entrypoint.\u2026" 19 seconds ago Up 19 seconds 0.0.0.0:8001->80/tcp, [::]:8001->80/tcp webserver1
# ํธ์คํธ์ 8001 ํฌํธ๊ฐ ์ด๋ฆฐ ๊ฒ์ ํ์ธ
toby@tobykakao:~$ sudo netstat -nlp | grep 8001
tcp 0 0 0.0.0.0:8001 0.0.0.0:* LISTEN 3879/docker-proxy
tcp6 0 0 :::8001 :::* LISTEN 3894/docker-proxy
# ์ ์ ํ
์คํธ
toby@tobykakao:~$ curl localhost:8001
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
# ์ปจํ
์ด๋์ ๋ฆฌ์์ค ์ฌ์ฉ๋ ์ค์๊ฐ ํ์ธ
toby@tobykakao:~$ docker stats webserver1
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
4185646d8fc8 webserver1 0.00% 1.961MiB / 3.811GiB 0.05% 4.15kB / 1.27kB 0B / 20.5kB 2
# ์ปจํ
์ด๋์ ์คํ ์ค์ธ ํ๋ก์ธ์ค ํ์
toby@tobykakao:~$ docker top webserver1
UID PID PPID C STIME TTY TIME CMD
root 3936 3916 0 11:52 ? 00:00:00 nginx: master process nginx -g daemon off;
message+ 3982 3936 0 11:52 ? 00:00:00 nginx: worker process
# ์ปจํ
์ด๋ ๋ด๋ถ์ ์ ๊ทผ ๋ก๊ทธ๋ฅผ ์ค์๊ฐ ํ์ธ (-f: ์ค์๊ฐ, -t: ๋ง์ง๋ง ๋ก๊ทธ๊น์ง).
$ docker logs -f webserver1
192.168.56.1 - - [01/Mar/2021:07:00:57 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.190 Safari/537.36" "-"
...
# ์ปจํ
์ด๋๋ฅผ ์ ์งํ๋ค. (docker stop -t 10 webserver1, ์ต์
์ 10์ด ํ ์ ์ง)
@tobykakao:~$ docker stop webserver1
webserver1
# ์ปจํ
์ด๋๊ฐ ์ค์ง๋จ ํ์ธ.
toby@tobykakao:~$ curl localhost:8001
curl: (7) Failed to connect to localhost port 8001 after 0 ms: Couldn't connect to server
# ์ปจํ
์ด๋ ์์.
toby@tobykakao:~$ docker start webserver1
webserver1
# ์ ์ ํ์ธ
toby@tobykakao:~$ curl localhost:8001
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
# Docker๊ฐ ์ค์น๋ host์ ip ํ์ธ, ์์ ์๋ ์ฃผ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋จ
toby@tobykakao:~$ hostname -I
192.168.64.7 172.17.0.1 fdaa:7355:ced7:d2ee:e1bb:425a:89e1:b26b fdaa:7355:ced7:d2ee:809b:7cff:fe76:af3b
# ๋ธ๋ผ์ฐ์ ๋ฅผ ์ด์ฉํ ์ ๊ทผ ์๋, ์ด ์ฃผ์๋ฅผ ์นํ์ด์ง์ ์
๋ ฅํ๋ฉด ๋จ.
http://[๋์ปค๊ฐ ์ค์น๋ ํธ์คํธ์ IP]:8001/
# ์๋ฒ ์ฃผ์ ํ์ธ (๊ตฌ๋ ํ์ธ ๋ชฉ์ )
toby@tobykakao:~$ curl http://192.168.64.7:8001/
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
# nginx์ index.html ๋ด์ฉ์ ๋ณ๊ฒฝํ์ฌ ํ
์คํธํด ๋ณด์.
$ vi index.html
<h1> Hello, Jpub Docker. </h1>
# ๋์ปค cp ๋ช
๋ น์ ํตํด ์ปจํ
์ด๋ ๋ด๋ถ index.html ํ์ผ ๊ฒฝ๋ก์ ๋ณต์ฌํ๋ค.
toby@tobykakao:~$ docker cp index.html webserver1:/usr/share/nginx/html/index.html
Successfully copied 2.05kB to webserver1:/usr/share/nginx/html/index.html
# curl๋ก ๋ณ๊ฒฝ๋ ๋ด์ฉ ํ์ธ
toby@tobykakao:~$ curl localhost:8001
<h1> Hello, Kakao Docker. </h1>
# ์ฐ๊ฒฐ๋ ๋ธ๋ผ์ฐ์ ์์ [F5]๋ฅผ ๋๋ฌ ์๋ก๊ณ ์นจ ํ๋ค.
Docker Container์ ์ผ์์ ์ง(pause), ์ผ์์ ์ง ํด์ (unpause), ์ฌ์์(restart)์ฌ์ฉ
docker pause ๋ช ๋ น์ ์ง์ ๋ ์ปจํ ์ด๋์ ๋ชจ๋ ํ๋ก์ธ์ค๋ฅผ ์ผ์ ์ค๋จํฉ๋๋ค. ๋ฆฌ๋ ์ค์์๋ freezer cgroup์ ์ฌ์ฉํฉ๋๋ค.
# ํ๋ก์ธ์ค๋ฅผ ์ผ์ ์ค์งํ ๋ SIGSTOP ์ ํธ๊ฐ ์ฌ์ฉ๋๋ค.
toby@tobykakao:~$ docker pause webserver1
webserver1
# ์ปจํ
์ด๋ ์ํ ํ์ธ (Paused ์ํ๋ก ํ์๋จ)
toby@tobykakao:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4185646d8fc8 nginx:1.18 "/docker-entrypoint.\u2026" 21 minutes ago Up 14 minutes (Paused) 0.0.0.0:8001->80/tcp, [::]:8001->80/tcp webserver1
# docker unpause ๋ช
๋ น์ ์ง์ ๋ ์ปจํ
์ด๋์ ๋ชจ๋ ํ๋ก์ธ์ค์์ ์ผ์ ์ค๋จ์ ํด์ ํ๋ค.
toby@tobykakao:~$ docker unpause webserver1
webserver1
# ์ปจํ
์ด๋ ์ํ ํ์ธ (Paused ์ํ ํด์ ๋จ)
toby@tobykakao:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4185646d8fc8 nginx:1.18 "/docker-entrypoint.\u2026" 21 minutes ago Up 15 minutes 0.0.0.0:8001->80/tcp, [::]:8001->80/tcp webserver1
- ์ปจํ ์ด๋๋ฅผ ์ฌ์์ํ๋ ๊ฒ์ ๊ธฐ์กด ์ปจํ ์ด๋์ ํ๋ก์ธ์ค๋ฅผ ์ ์งํ๊ณ ์๋ก์ด ์ปจํ ์ด๋ ํ๋ก์ธ์ค๋ฅผ ์์ํ๋ ๊ฒ์ ๋๋ค.
- ์ปจํ ์ด๋ ๋์์๋ ์ํฅ์ ์ฃผ์ง ์๊ณ , ํธ์คํธ์ ํ๋ก๋ง ๋ณ๊ฒฝ๋ฉ๋๋ค.
# (8001์ ์ ์ค์ต์์ nginx์ ํธ์คํธ ์ฐ๊ฒฐ ํฌํธ๋ฅผ ์ฌ์ฉ)
toby@tobykakao:~$ ps -ef | grep 8001
root 4946 1175 0 11:59 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8001 -container-ip 172.17.0.2 -container-port 80
root 4958 1175 0 11:59 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 8001 -container-ip 172.17.0.2 -container-port 80
toby 5681 4796 50 12:16 pts/0 00:00:00 grep --color=auto 8001
# ์ปจํ
์ด๋ ์ฌ์์
toby@tobykakao:~$ docker restart webserver1
webserver1
# ์ฌ์์ ํ ํ์ธ
toby@tobykakao:~$ ps -ef | grep 8001
root 5753 1175 0 12:16 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8001 -container-ip 172.17.0.2 -container-port 80
root 5760 1175 0 12:16 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 8001 -container-ip 172.17.0.2 -container-port 80
toby 5843 4796 0 12:16 pts/0 00:00:00 grep --color=auto 8001
'โ๏ธ Cloud Native > ๐ณ Docker' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Docker] Docker Volume ํ์ฉ (0) | 2024.11.16 |
---|---|
[Docker] Docker๋ฅผ ํ์ฉํ Ngnix Container ์ค์ , ๊ด๋ฆฌ & Docker hub ๋ฐฐํฌ (0) | 2024.11.09 |
[Docker] Docker ๋ช ๋ น์ด ํ์ฉ Part.2 (0) | 2024.10.31 |
[Docker] Docker ๋ช ๋ น์ด ํ์ฉ Part.1 (0) | 2024.10.31 |
[Docker] Docker Installation Check (๋์ปค ์ค์น ํ์ธ) (0) | 2024.10.11 |