ㅇ 도커 그룹 계정 확인

[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