Hallooo semuanya kembali dengan tulisan saya, pada tulisan kali ini saya ingin memberi tahu kalian apasih command untuk melihat container, melihat isi container, bagamana cara stop nya dan lain lain. Langsung saja yang pertama,

Docker ps

Oke command yang pertama itu adalah Docker ps, nah apasih itu docker ps. Docker ps ini adalah command untuk melihat container pada sistem kalian sama dengan command docker container ls. Sama sama command untuk melihat container, tetapi untuk docker ps ini adalah command yang simple dari pada docker container ls. Soalnya nanti kalau pake command itu kepanjangan dan tidak menghemat waktu. Jadi pake docker ps, nah saya akan contohkan. Jalankan command docker ps pada sistem os kalian yang ada Docker nya.

# docker ps

Outputnya nanti akan seperti ini:

Nah pasti kalian bingung kok yang muncul cuman ini kenapa?, karena perintah docker ps tanpa parameter -a akan hanya memunculkan container yang sedang berjalanan saja. Kalau kalian menambahkan parameter -a pada command docker ps, nanti akan muncul semua container maupun itu yang berjalan atau yang sedang berhenti. Nah dari situ sudah jelas ya, oke saya jelaskan satu satu bagian yang muncul pada saat menjalankan docker ps.

  • CONTAINER ID: Nah container id ini merupakan id yang di berikan oleh docker secara random dan gunanya untuk membedakan container.
  • IMAGE: Image ini merupakan keterangan image yang digunakan oleh container tersebut.
  • COMMAND: Command ini bisa berbagai macam tergantung image yang kalian gunakan, misalkan kalian menggunakan image ubuntu nah biasanya itu isi pada kolom command nya ini /bin/bash. Nah setiap image command nya berbeda beda tergatung image nya itu sendiri.
  • CREATED: Nah pada kolom ini merupakan kapan nih container itu di buat.
  • STATUS: Sudah jelas dari namanya, status menampilkan status dari contianer tersebut apakah berjalan atau sedang berhenti.
  • PORTS: Nah biasanya ports ini bisa ada bisa tidak tergantung kalian waktu menjalankan container ini publish port nya berapa, jadi ini menunjukan port yang digunakan oleh container tersebut.
  • NAMES: Terakhir sudah jelas ya names, atau nama dari container tersebut. Biasanya names ini bisa kita set pada saat menjalankan container atau bisa juga tidak bisa set dan nantinya docker akan membuatkan nama random untuk container kita.

Nah jadi itu kita langsungke command berikutnya.

Menjalankan dan menghapus container

Nah sekarang bagaimana sih kita menjalankan dan menghapus container itu. Caranya simple, command nya sama dengan pada tulisan sebelumya yaitu:

# docker container start (nama-container)

Atau kalian juga bisa menggunakan perintah:

# docker run 

Tetapi perintah docker run ini hanya untuk membuat container sekaligus menjalankan container.

Nah untuk menghapus container caranya simple. Pertama kita stop dulu container yang kita mau hapus jika container itu berjalan menggunakan perintah:

# docker container stop (nama-container)

Sehabis itu kita hapus container dengan perintah berikut:

# docker container rm (nama-container)

Nah gampang bukan, jika container nya berhenti kalian tinggal jalankan perintah yang di atas saja untuk menghapus nya.

Melihat isi container

Oke selanjutnya ingin memberi tahu bagaimana cara melihat isi dari container tersebut. command nya simple dengan:

# docker inspect (nama-container)

Nah nanti outputnya akan seperti ini :

output: 
[
    {
        "Id": "3bb60c6a94f07392cda75e52582cd7a3938a2482a784587d3465fd5f3ce2a3ac",
        "Created": "2024-07-17T04:18:55.049933718Z",
        "Path": "python",
        "Args": [
            "app.py"
        ],
        "State": {
            "Status": "exited",
            "Running": false,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 0,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2024-07-17T04:18:55.427392957Z",
            "FinishedAt": "2024-07-17T04:29:23.56562663Z"
        },
        "Image": "sha256:a91ed48e81fcd11748a796d8fc7dc93605ac1344590151d5de68e66dd0149d1a",
        "ResolvConfPath": "/var/lib/docker/containers/3bb60c6a94f07392cda75e52582cd7a3938a2482a784587d3465fd5f3ce2a3ac/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/3bb60c6a94f07392cda75e52582cd7a3938a2482a784587d3465fd5f3ce2a3ac/hostname",
        "HostsPath": "/var/lib/docker/containers/3bb60c6a94f07392cda75e52582cd7a3938a2482a784587d3465fd5f3ce2a3ac/hosts",
        "LogPath": "/var/lib/docker/containers/3bb60c6a94f07392cda75e52582cd7a3938a2482a784587d3465fd5f3ce2a3ac/3bb60c6a94f07392cda75e52582cd7a3938a2482a784587d3465fd5f3ce2a3ac-json.log",
        "Name": "/sad_tu",
        "RestartCount": 0,
        "Driver": "overlay2",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "docker-default",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": null,
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "default",
            "PortBindings": {},
            "RestartPolicy": {
                "Name": "no",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "ConsoleSize": [
                56,
                178
            ],
            "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",
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": [],
            "BlkioDeviceReadBps": [],
            "BlkioDeviceWriteBps": [],
            "BlkioDeviceReadIOps": [],
            "BlkioDeviceWriteIOps": [],
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": [],
            "DeviceCgroupRules": null,
            "DeviceRequests": null,
            "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",
                "/sys/devices/virtual/powercap"
            ],
            "ReadonlyPaths": [
                "/proc/bus",
                "/proc/fs",
                "/proc/irq",
                "/proc/sys",
                "/proc/sysrq-trigger"
            ]
        },
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/db250fb580b55dffad15390875781e7ef6134cc4740871a1e9e399bd5c6abac6-init/diff:/var/lib/docker/overlay2/9fcb21ee31d7712617b19f37fa8a40b619179def4b7643e95775e7ffc671ad25/diff:/var/lib/docker/overlay2/b8a10fc4e5e5e5d121d70ee680e9c6899432a52196c6cc1279afc95f59a2b135/diff:/var/lib/docker/overlay2/a790e91eac6c4ad8db5b013edef1b273704ab90678106f0c02c0248fc00d0011/diff:/var/lib/docker/overlay2/c03dfe9cadfae982750fa90abe688eea2ef11b298bea1431a319f8d1da0dcb09/diff:/var/lib/docker/overlay2/b55ce27bd699f0bd2cc3bd4ae56b10b0385b0ef250995290f85a0034ee195a0a/diff:/var/lib/docker/overlay2/202ee79ebf586ee7616aeb64760dda80333eed55e748335197506c53ef36b8f9/diff:/var/lib/docker/overlay2/55a0d53add391aafd8804749d6a522289533bff443fd87ef856860be0684fbef/diff:/var/lib/docker/overlay2/57c4dd498fa6436a2f5e340d7f8478e1110d1315d19c725f22e447b071256baf/diff",
                "MergedDir": "/var/lib/docker/overlay2/db250fb580b55dffad15390875781e7ef6134cc4740871a1e9e399bd5c6abac6/merged",
                "UpperDir": "/var/lib/docker/overlay2/db250fb580b55dffad15390875781e7ef6134cc4740871a1e9e399bd5c6abac6/diff",
                "WorkDir": "/var/lib/docker/overlay2/db250fb580b55dffad15390875781e7ef6134cc4740871a1e9e399bd5c6abac6/work"
            },
            "Name": "overlay2"
        },
        "Mounts": [],
        "Config": {
            "Hostname": "3bb60c6a94f0",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": true,
            "AttachStderr": true,
            "ExposedPorts": {
                "5000/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "LANG=C.UTF-8",
                "GPG_KEY=E3FF2839C048B25C084DEBE9B26995E310250568",
                "PYTHON_VERSION=3.8.19",
                "PYTHON_PIP_VERSION=23.0.1",
                "PYTHON_SETUPTOOLS_VERSION=57.5.0",
                "PYTHON_GET_PIP_URL=https://github.com/pypa/get-pip/raw/e03e1607ad60522cf34a92e834138eb89f57667c/public/get-pip.py",
                "PYTHON_GET_PIP_SHA256=ee09098395e42eb1f82ef4acb231a767a6ae85504a9cf9983223df0a7cbd35d7"
            ],
            "Cmd": [
                "python",
                "app.py"
            ],
            "Image": "simple/app",
            "Volumes": null,
            "WorkingDir": "/app",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {}
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "1fc8c37a9b3a64f74887d2087cfd1ba446f7bcd5e2959529f880d224eeb67ba1",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {},
            "SandboxKey": "/var/run/docker/netns/1fc8c37a9b3a",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "",
            "Gateway": "",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "",
            "IPPrefixLen": 0,
            "IPv6Gateway": "",
            "MacAddress": "",
            "Networks": {
                "bridge": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "19b76786aa69557c228cadd0d9ae633dec5b0b64e353365dce67828e7bb9c402",
                    "EndpointID": "",
                    "Gateway": "",
                    "IPAddress": "",
                    "IPPrefixLen": 0,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "",
                    "DriverOpts": null
                }
            }
        }
    }
]

Nah panjang banget bukan, nah isi ini biasanya memuat informasi dari isi container yang kita inspect. Disini saya sebagai contoh inspect container yang di jalankan pada tulisan sebelumnya. Nah isinya lengkap deh, dari image yang digunakan apa, volume nya apa, network nya apa, ip nya berapa, dan maih banyak lagi.

Oke seperti nya itu saja pada tulisan kali ini, sampai jumpa pada tulisan selanjutnya bye bye.


Leave a Reply

Your email address will not be published. Required fields are marked *