Traffine I/O

Bahasa Indonesia

2022-06-10

Perintah Docker Run

Perintah Docker Run

Perintah docker run adalah bagian fundamental dari penggunaan Docker, yang memungkinkan pengguna untuk membuat dan memulai kontainer baru dari sebuah image. Dalam artikel ini, saya akan membahas berbagai flag perintah yang dapat digunakan bersama perintah docker run untuk menyesuaikan perilaku kontainer.

Syntax Dasar dan Penggunaan

Syntax dasar dari perintah docker run adalah sebagai berikut:

bash
$ docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]

OPTIONS adalah flag perintah yang akan kita bahas dalam artikel ini. IMAGE adalah nama dari image Docker, sementara TAG dan DIGEST adalah identifikasi opsional. COMMAND dan ARG adalah perintah dan argumen tambahan yang akan dieksekusi dalam kontainer.

Flag Perintah Dasar pada Docker Run

-d, --detach

Flag ini digunakan untuk menjalankan kontainer dalam mode terpisah, yang berarti kontainer akan berjalan di latar belakang dan tidak memerlukan terminal untuk tetap terbuka. Untuk menggunakan flag ini, cukup sertakan -d atau --detach pada perintah docker run Anda.

bash
$ docker run -d nginx

-it (Interactive dan TTY)

Flag -it adalah kombinasi dari dua flag terpisah, -i (interactive) dan -t (TTY). Menggunakan flag ini bersama-sama memungkinkan Anda untuk berinteraksi dengan kontainer secara real-time dan mengalokasikan pseudo-TTY, yang memungkinkan pengalaman yang lebih interaktif saat menjalankan kontainer.

Flag -i atau --interactive menjaga input standar (stdin) kontainer tetap terbuka bahkan jika tidak terhubung ke terminal. Hal ini memungkinkan Anda untuk mengirimkan input ke dalam kontainer saat berjalan.

Flag -t atau --tty mengalokasikan pseudo-TTY untuk kontainer. Ini mensimulasikan terminal teks, sehingga memudahkan untuk berinteraksi dengan antarmuka baris perintah kontainer.

bash
$ docker run -it ubuntu bash

Pada contoh ini, kita memulai kontainer ubuntu dengan shell Bash interaktif. Flag -it memungkinkan Anda untuk mengeksekusi perintah dalam kontainer dan menerima output secara real-time, seperti saat bekerja dengan terminal lokal.

-p, --publish

Flag -p atau --publish digunakan untuk memetakan port kontainer ke port mesin host. Hal ini penting untuk mengekspos layanan kontainer ke jaringan eksternal atau mesin host itu sendiri.

bash
$ docker run -d -p 8080:80 nginx

-v, --volume

Flag -v atau --volume digunakan untuk memasang direktori host atau volume bernama ke dalam file sistem kontainer. Hal ini berguna untuk menyimpan data dan berbagi file antara kontainer dan mesin host.

bash
$ docker run -d -v /path/on/host:/path/in/container nginx

-e, --env

Flag -e atau --env memungkinkan Anda untuk mengatur variabel lingkungan di dalam kontainer. Hal ini berguna untuk melewatkan informasi konfigurasi ke aplikasi yang berjalan di dalam kontainer.

bash
$ docker run -d -e MYSQL_ROOT_PASSWORD=my-secret-password mysql

--name

Flag --name memberikan nama khusus pada kontainer, sehingga memudahkan untuk mengelola dan merujuknya.

bash
$ docker run -d --name my-nginx-container nginx

--restart

Flag --restart menentukan kebijakan restart kontainer dalam hal kegagalan atau saat mesin host melakukan reboot. Ia menerima salah satu nilai berikut: no, on-failure, unless-stopped, atau always.

bash
$ docker run -d --restart=always nginx

--memory

Flag --memory membatasi jumlah memori yang dapat digunakan oleh kontainer. Hal ini berguna untuk mengontrol penggunaan resource pada mesin host dan mencegah kontainer tunggal mengonsumsi resource secara berlebihan.

bash
$ docker run -d --memory=512m nginx

--cpu-shares

Flag --cpu-shares menetapkan bobot relatif untuk penggunaan CPU antara kontainer. Hal ini memungkinkan Anda untuk mengontrol berapa banyak waktu CPU yang diberikan pada setiap kontainer ketika terdapat banyak kontainer yang bersaing untuk resource.

bash
$ docker run -d --cpu-shares=1024 nginx

--network

Flag --network menghubungkan kontainer ke jaringan tertentu. Anda dapat menggunakan flag ini untuk mengontrol lingkungan jaringan kontainer dan memfasilitasi komunikasi antara kontainer.

bash
$ docker run -d --network=my-custom-network nginx

--rm

Flag --rm secara otomatis menghapus kontainer setelah ia keluar. Hal ini berguna untuk menjaga mesin host Anda tetap bersih dan bebas dari sampah yang tidak perlu, terutama saat menjalankan kontainer yang singkat.

bash
$ docker run --rm -it ubuntu bash

--entrypoint

Flag --entrypoint memungkinkan Anda untuk mengganti entrypoint default kontainer, yaitu perintah yang dieksekusi saat kontainer dimulai. Hal ini berguna untuk menjalankan perintah atau program yang berbeda di dalam kontainer tanpa harus membuat image Docker baru.

bash
$ docker run --entrypoint=/bin/sh -it nginx

Pada contoh ini, kita mengganti entrypoint default kontainer nginx untuk menjalankan /bin/sh. Hal ini memungkinkan kita untuk mengakses shell kontainer secara interaktif.

Referensi

https://docs.docker.com/engine/reference/commandline/run/

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!