ㅇ 도커 그룹 계정 확인
[root@localhost vulninsp]# cat /etc/group | grep docker
docker:x:982:vulninsp
ㅇ 도커버전 확인하기
[root@localhost Desktop]# docker version
Client: Docker Engine - Community
Version: 20.10.16
API version: 1.41
Go version: go1.17.10
Git commit: aa7e414
Built: Thu May 12 09:19:45 2022
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.16
API version: 1.41 (minimum version 1.12)
Go version: go1.17.10
Git commit: f756502
Built: Thu May 12 09:18:08 2022
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.4
GitCommit: 212e8b6fa2f44b9c21b2798135fc6fb7c53efc16
runc:
Version: 1.1.1
GitCommit: v1.1.1-0-g52de29d
docker-init:
Version: 0.19.0
GitCommit: de40ad0
ㅇ 도커 상태 확인하기
[root@localhost vulninsp]# sudo systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
Active: active (running) since 월 2022-05-16 20:51:05 KST; 1min 35s ago
Docs: https://docs.docker.com
Main PID: 85039 (dockerd)
Tasks: 7
Memory: 57.8M
CGroup: /system.slice/docker.service
└─85039 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
5월 16 20:51:04 localhost.localdomain dockerd[85039]: time="2022-05-16T20:51:04.314495166+09:00" level=info ...grpc
5월 16 20:51:04 localhost.localdomain dockerd[85039]: time="2022-05-16T20:51:04.314500646+09:00" level=info ...grpc
5월 16 20:51:04 localhost.localdomain dockerd[85039]: time="2022-05-16T20:51:04.337640072+09:00" level=info ...rt."
5월 16 20:51:04 localhost.localdomain dockerd[85039]: time="2022-05-16T20:51:04.967537486+09:00" level=info ...ess"
5월 16 20:51:05 localhost.localdomain dockerd[85039]: time="2022-05-16T20:51:05.066402652+09:00" level=info ...ing"
5월 16 20:51:05 localhost.localdomain dockerd[85039]: time="2022-05-16T20:51:05.114139274+09:00" level=info ...ne."
5월 16 20:51:05 localhost.localdomain dockerd[85039]: time="2022-05-16T20:51:05.152550449+09:00" level=info ...0.16
5월 16 20:51:05 localhost.localdomain dockerd[85039]: time="2022-05-16T20:51:05.156610072+09:00" level=info ...ion"
5월 16 20:51:05 localhost.localdomain systemd[1]: Started Docker Application Container Engine.
5월 16 20:51:05 localhost.localdomain dockerd[85039]: time="2022-05-16T20:51:05.175801889+09:00" level=info ...ock"
Hint: Some lines were ellipsized, use -l to show in full.
ㅇ 설치된 도커 이미지 확인
[root@localhost vulninsp]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
httpd latest c58ef9bfbb57 5 days ago 144MB
ㅇ 리눅스 브리지 확인 명령어
[root@localhost webdata]# brctl show
bridge name bridge id STP enabled interfaces
docker0 8000.0242613f2156 no vethca119f4
virbr0 8000.525400a24e2c yes virbr0-nic
ㅇ 인터페이스별 ip확인 명령어
[root@localhost webdata]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:b2:4b:09 brd ff:ff:ff:ff:ff:ff
inet 192.168.32.129/24 brd 192.168.32.255 scope global noprefixroute dynamic ens33
valid_lft 1597sec preferred_lft 1597sec
inet6 fe80::e3df:acdb:2665:b9b3/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: virbr0: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 52:54:00:a2:4e:2c brd ff:ff:ff:ff:ff:ff
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
link/ether 52:54:00:a2:4e:2c brd ff:ff:ff:ff:ff:ff
5: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:61:3f:21:56 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
inet6 fe80::42:61ff:fe3f:2156/64 scope link
valid_lft forever preferred_lft forever
21: vethca119f4@if20: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group default
link/ether 16:90:70:ef:5f:e8 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet6 fe80::1490:70ff:feef:5fe8/64 scope link
valid_lft forever preferred_lft forever
ㅇ docker ps -a
- 실행 상태의 컨테이너 상태 보기
-a, --all stop된 컨테이너까지 모두 보기
-q, --quiet 컨테이너 ID만 표시
--no-trunc 정보를 생략하지 않고 표시
[root@localhost webdata]# docker ps --no-trunc -q -a
9ab08bee69df7e8eecb80591481d1c20aaa3c468e226b754a7cd7fb71310dfff
d99a427d1c1982b97149f8c660c6c9c540ea2fa50f0111fdb6e88bc493ad93de
79065ea6ac74cbb60bb44e81f2575faf82ceb196624c10bce9dd50ba451ba081
6ccbf7837a4628b1ac8674c7ab76151441d5b1095f7791318cef3190ac0f5f54
65a8eb2f1827f1fccb38fbc6f3c5728be8ee273c689c5bd408b5ceb8494739b7
e4bc6d859c34230261111761232a0477fb9e9bc9afffee1fd54745911a790246
e635400312b526f6fc6be5d5db0811a264adf8741c4d4870eb1b92e8d5ebc9fa
b11b4b8e87cf6dcbc355cfd2aea48ff46b0296ebda5d27d7b1ab0ff07de585fc
ㅇ docker inspect [컨테이너명]
- 컨테이너 상세 정보 확인
[root@localhost webdata]# docker inspect 9ab08bee69df7e8eecb80591481d1c20aaa3c468e226b754a7cd7fb71310dfff
[
{
"Id": "9ab08bee69df7e8eecb80591481d1c20aaa3c468e226b754a7cd7fb71310dfff",
"Created": "2022-05-16T12:46:31.92991461Z",
"Path": "httpd-foreground",
"Args": [],
"State": {
"Status": "running",
"Running": true,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 92187,
"ExitCode": 0,
"Error": "",
"StartedAt": "2022-05-16T12:46:32.681279154Z",
"FinishedAt": "0001-01-01T00:00:00Z"
},
"Image": "sha256:c58ef9bfbb5789a9882cee610ba778b1368d21b513d6caf32e3075542e13fe81",
"ResolvConfPath": "/var/lib/docker/containers/9ab08bee69df7e8eecb80591481d1c20aaa3c468e226b754a7cd7fb71310dfff/resolv.conf",
"HostnamePath": "/var/lib/docker/containers/9ab08bee69df7e8eecb80591481d1c20aaa3c468e226b754a7cd7fb71310dfff/hostname",
"HostsPath": "/var/lib/docker/containers/9ab08bee69df7e8eecb80591481d1c20aaa3c468e226b754a7cd7fb71310dfff/hosts",
"LogPath": "/var/lib/docker/containers/9ab08bee69df7e8eecb80591481d1c20aaa3c468e226b754a7cd7fb71310dfff/9ab08bee69df7e8eecb80591481d1c20aaa3c468e226b754a7cd7fb71310dfff-json.log",
"Name": "/vibrant_mcnulty",
"RestartCount": 0,
"Driver": "overlay2",
"Platform": "linux",
"MountLabel": "",
"ProcessLabel": "",
"AppArmorProfile": "",
"ExecIDs": null,
"HostConfig": {
"Binds": [
"/var/webdata:/usr/local/apache2/htdocs"
],
"ContainerIDFile": "",
"LogConfig": {
"Type": "json-file",
"Config": {}
},
"NetworkMode": "default",
"PortBindings": {
"80/tcp": [
{
"HostIp": "",
"HostPort": "8080"
}
]
},
"RestartPolicy": {
"Name": "no",
"MaximumRetryCount": 0
},
"AutoRemove": false,
"VolumeDriver": "",
"VolumesFrom": null,
"CapAdd": null,
"CapDrop": null,
"CgroupnsMode": "host",
"Dns": [],
"DnsOptions": [],
"DnsSearch": [],
"ExtraHosts": null,
"GroupAdd": null,
"IpcMode": "private",
"Cgroup": "",
"Links": null,
"OomScoreAdj": 0,
"PidMode": "",
"Privileged": false,
"PublishAllPorts": false,
"ReadonlyRootfs": false,
"SecurityOpt": null,
"UTSMode": "",
"UsernsMode": "",
"ShmSize": 67108864,
"Runtime": "runc",
"ConsoleSize": [
0,
0
],
"Isolation": "",
"CpuShares": 0,
"Memory": 0,
"NanoCpus": 0,
"CgroupParent": "",
"BlkioWeight": 0,
"BlkioWeightDevice": [],
"BlkioDeviceReadBps": null,
"BlkioDeviceWriteBps": null,
"BlkioDeviceReadIOps": null,
"BlkioDeviceWriteIOps": null,
"CpuPeriod": 0,
"CpuQuota": 0,
"CpuRealtimePeriod": 0,
"CpuRealtimeRuntime": 0,
"CpusetCpus": "",
"CpusetMems": "",
"Devices": [],
"DeviceCgroupRules": null,
"DeviceRequests": null,
"KernelMemory": 0,
"KernelMemoryTCP": 0,
"MemoryReservation": 0,
"MemorySwap": 0,
"MemorySwappiness": null,
"OomKillDisable": false,
"PidsLimit": null,
"Ulimits": null,
"CpuCount": 0,
"CpuPercent": 0,
"IOMaximumIOps": 0,
"IOMaximumBandwidth": 0,
"MaskedPaths": [
"/proc/asound",
"/proc/acpi",
"/proc/kcore",
"/proc/keys",
"/proc/latency_stats",
"/proc/timer_list",
"/proc/timer_stats",
"/proc/sched_debug",
"/proc/scsi",
"/sys/firmware"
],
"ReadonlyPaths": [
"/proc/bus",
"/proc/fs",
"/proc/irq",
"/proc/sys",
"/proc/sysrq-trigger"
]
},
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/ab80a9042f27614f935c79dd45bebaca84232feb6b40ae6d7e9ef83e7b64ca6a-init/diff:/var/lib/docker/overlay2/e673648aa5e04c86dff49892dff80e9fe7100e1deebfb5ec94bbd36468ae0d7d/diff:/var/lib/docker/overlay2/8511384abf66a44281983725d794d2aaf8a7df007da92600c162cf4fc4c7f7ef/diff:/var/lib/docker/overlay2/fe1cdc98ddbbf93118ac681df3987403c2e467238ddd0264c40d5513d0e7306e/diff:/var/lib/docker/overlay2/873dd40e901f58a7ad2e2ce6166c5b27e2a14709686b73356fec5762369e0be4/diff:/var/lib/docker/overlay2/746088e809e8922bcc9f8f1315043b454230247dff6314426177c23684e1194c/diff",
"MergedDir": "/var/lib/docker/overlay2/ab80a9042f27614f935c79dd45bebaca84232feb6b40ae6d7e9ef83e7b64ca6a/merged",
"UpperDir": "/var/lib/docker/overlay2/ab80a9042f27614f935c79dd45bebaca84232feb6b40ae6d7e9ef83e7b64ca6a/diff",
"WorkDir": "/var/lib/docker/overlay2/ab80a9042f27614f935c79dd45bebaca84232feb6b40ae6d7e9ef83e7b64ca6a/work"
},
"Name": "overlay2"
},
"Mounts": [
{
"Type": "bind",
"Source": "/var/webdata",
"Destination": "/usr/local/apache2/htdocs",
"Mode": "",
"RW": true,
"Propagation": "rprivate"
}
],
"Config": {
"Hostname": "9ab08bee69df",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"80/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/apache2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"HTTPD_PREFIX=/usr/local/apache2",
"HTTPD_VERSION=2.4.53",
"HTTPD_SHA256=d0bbd1121a57b5f2a6ff92d7b96f8050c5a45d3f14db118f64979d525858db63",
"HTTPD_PATCHES="
],
"Cmd": [
"httpd-foreground"
],
"Image": "httpd:2.4",
"Volumes": null,
"WorkingDir": "/usr/local/apache2",
"Entrypoint": null,
"OnBuild": null,
"Labels": {},
"StopSignal": "SIGWINCH"
},
"NetworkSettings": {
"Bridge": "",
"SandboxID": "954c60335a3680950a19303a72a5ea728c565f28374e1605cd4da47c1c24d392",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Ports": {
"80/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "8080"
},
{
"HostIp": "::",
"HostPort": "8080"
}
]
},
"SandboxKey": "/var/run/docker/netns/954c60335a36",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "6dd4823947516e3dd20b4efc60c7ec1eac10aacf854ed274fc40041ed8f4f49a",
"Gateway": "172.17.0.1",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "172.17.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"MacAddress": "02:42:ac:11:00:02",
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"NetworkID": "9d900230fbfed7337d8f3ee3ed9f007aec0da7450c506d239bd25c3eac94e963",
"EndpointID": "6dd4823947516e3dd20b4efc60c7ec1eac10aacf854ed274fc40041ed8f4f49a",
"Gateway": "172.17.0.1",
"IPAddress": "172.17.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:11:00:02",
"DriverOpts": null
}
}
}
}
]
- docker inspect data_share | grep -i volumes
[root@localhost webdata]# docker inspect 9ab08bee69df7e8eecb80591481d1c20aaa3c468e226b754a7cd7fb71310dfff | grep -i volumes
"VolumesFrom": null,
"Volumes": null,
[root@localhost webdata]# docker inspect 9ab08bee69df7e8eecb80591481d1c20aaa3c468e226b754a7cd7fb71310dfff | grep -i /htdocs
"/var/webdata:/usr/local/apache2/htdocs"
"Destination": "/usr/local/apache2/htdocs",
ㅇ docker top [컨테이너명]
- 가동중인 컨테이너에서 프로세스를 확인.
[root@localhost webdata]# docker top 9ab08bee69df7e8eecb80591481d1c20aaa3c468e226b754a7cd7fb71310dfff
UID PID PPID C STIME TTY TIME CMD
root 92187 92168 0 21:46 ? 00:00:00 httpd -DFOREGROUND
33 92218 92187 0 21:46 ? 00:00:00 httpd -DFOREGROUND
33 92219 92187 0 21:46 ? 00:00:00 httpd -DFOREGROUND
33 92220 92187 0 21:46 ? 00:00:00 httpd -DFOREGROUND
ㅇ docker container ls
- 모든 컨테이너는 컨테이너ID 정보
--all, -a : 실행중, 정지중 모두 포함하여 모든 컨테이너 표시
--filter, -f : 표시할 컨테이너 필터링
--last, -n : 마지막으로 실행된 N건의 컨테이너만 표시
--latest, -l : 마지막으로 실행된 컨테이너만 표시
--no-trunc : 정보를 생략하지 않고 표시
--quiet, -q : 컨테이너 아이디만 표시
--size, -s : 파일 크기 표시
--format : 표시 포맷 지정
[root@localhost webdata]# docker container ls --no-trunc -q -a
9ab08bee69df7e8eecb80591481d1c20aaa3c468e226b754a7cd7fb71310dfff
d99a427d1c1982b97149f8c660c6c9c540ea2fa50f0111fdb6e88bc493ad93de
79065ea6ac74cbb60bb44e81f2575faf82ceb196624c10bce9dd50ba451ba081
6ccbf7837a4628b1ac8674c7ab76151441d5b1095f7791318cef3190ac0f5f54
65a8eb2f1827f1fccb38fbc6f3c5728be8ee273c689c5bd408b5ceb8494739b7
e4bc6d859c34230261111761232a0477fb9e9bc9afffee1fd54745911a790246
e635400312b526f6fc6be5d5db0811a264adf8741c4d4870eb1b92e8d5ebc9fa
b11b4b8e87cf6dcbc355cfd2aea48ff46b0296ebda5d27d7b1ab0ff07de585fc
ㅇ docker port [ 컨테이너 ID]
- 가동중인 컨테이너에서 실행되고 있는 프로세스가 전송되는 포트 확인
[root@localhost webdata]# docker port 9ab08bee69df7e8eecb80591481d1c20aaa3c468e226b754a7cd7fb71310dfff
80/tcp -> 0.0.0.0:8080
80/tcp -> :::8080
컨테이너의 80번 포트 -> 호스트 80번 포트로 전송
ㅇ docker logs [컨테이너명]
- 가동중인 컨테이너 로그 확인
[root@localhost webdata]# docker logs 9ab08bee69df7e8eecb80591481d1c20aaa3c468e226b754a7cd7fb71310dfff
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
[Mon May 16 12:46:32.746618 2022] [mpm_event:notice] [pid 1:tid 140523366030656] AH00489: Apache/2.4.53 (Unix) configured -- resuming normal operations
[Mon May 16 12:46:32.747014 2022] [core:notice] [pid 1:tid 140523366030656] AH00094: Command line: 'httpd -D FOREGROUND'
172.17.0.1 - - [16/May/2022:12:47:54 +0000] "GET /inn.html HTTP/1.1" 200 -
172.17.0.1 - - [16/May/2022:12:48:11 +0000] "GET /inn.html HTTP/1.1" 200 19
172.17.0.1 - - [16/May/2022:13:23:41 +0000] "GET /inn.html HTTP/1.1" 304 -
172.17.0.1 - - [16/May/2022:13:23:41 +0000] "GET /inn.html HTTP/1.1" 304 -
172.17.0.1 - - [16/May/2022:13:23:42 +0000] "GET /inn.html HTTP/1.1" 304 -
ㅇ 기타 뭥밍
[root@localhost vulninsp]# ps -ef | grep 'docker'
root 85039 1 0 20:51 ? 00:00:02 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
root 87095 85039 0 21:15 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8080 -container-ip 172.17.0.2 -container-port 80
root 87099 85039 0 21:15 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 8080 -container-ip 172.17.0.2 -container-port 80
[root@localhost vulninsp]# ps -ef | grep 'containerd'
root 85028 1 0 20:51 ? 00:00:00 /usr/bin/containerd
root 85039 1 0 20:51 ? 00:00:02 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
root 87111 1 0 21:15 ? 00:00:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id b11b4b8e87cf6dcbc355cfd2aea48ff46b0296ebda5d27d7b1ab0ff07de585fc -address /run/containerd/containerd.sock
root 87445 84580 0 21:17 pts/0 00:00:00 grep --color=auto containerd
'OS' 카테고리의 다른 글
nslookup (0) | 2015.08.08 |
---|---|
Apache LogFormat 지시어 (0) | 2015.07.13 |
Hot Link방지 (0) | 2014.09.15 |
Crontab을 이용하여 일정 시간마다 로그 백업후 FTP 업로드 (0) | 2014.09.15 |
crontab (0) | 2014.09.15 |