GNU/Linux >> Belajar Linux >  >> Panels >> Docker

Cara Menjalankan Kontainer Docker

Jadi, jika Anda baru mengenal Docker, Anda mungkin bertanya-tanya bagaimana cara menjalankan container docker. Mari saya tunjukkan dengan cepat.

Anda dapat membuat dan menjalankan container dengan perintah berikut:

docker run -it -d --name container_name image_name bash 

Dan kemudian, jika Anda ingin memasukkan wadah (untuk menjalankan perintah di dalam wadah secara interaktif), Anda dapat menggunakan perintah docker exec:

docker exec -it container_ID_or_name /bin/bash 

Berikut adalah contoh di mana saya membuat wadah baru dengan Ubuntu sebagai gambar dasar dan kemudian saya memasukkan wadah Ubuntu yang sedang berjalan dan menjalankan perintah ls:

[email protected]:~$ docker run -it -d --name my_container ubuntu bash7e77640bca686108ad415318278a1fa148e1c84d3b180276e19ec2b970ba9b67example@unixlinux.online:~$ docker boot ex -it my my home lib lib64 media mnt opt ​​proc root run sbin srv sys tmp usr [email protected]:/#  

Hilang? Jangan khawatir. Saya akan menjelaskan secara rinci apa yang dilakukan kedua perintah di atas dan apa itu -it opsi dalam perintah docker run dan exec.

Cara menjalankan wadah buruh pelabuhan

Jika Anda ingin menjalankan wadah buruh pelabuhan dengan gambar tertentu dan perintah tertentu, Anda dapat melakukannya dengan cara ini:

docker run -it -d --name container_name image_name bash 

Perintah di atas akan membuat wadah baru dengan nama yang ditentukan dari gambar buruh pelabuhan yang ditentukan. Nama penampung bersifat opsional.

  • Opsi -i berarti itu akan menjadi mode interaktif (Anda dapat memasukkan perintah ke dalamnya)
  • Opsi -t memberi Anda terminal (sehingga Anda dapat menggunakannya seolah-olah Anda menggunakan ssh untuk memasuki wadah).
  • Opsi -d (mode daemon) membuat container tetap berjalan di latar belakang.
  • bash adalah perintah yang dijalankannya.

Alasan menjalankan bash sebagai perintah di sini adalah wadah tidak akan langsung berhenti.

[email protected]:~$ docker run -it -d ubuntu bash82766613e7bc0ae98887bb1c776fa0de7f3c4771db9ac7ffc5db5c2c68ab497bexample@unixlinux.online:~$ docker psCONTAINER ID IMPORTAGE ditentukan /kode> 

Pada contoh di atas, saya tidak menamai wadahnya sehingga secara acak diberi namadetermin_blackburn.

Dan seperti yang Anda lihat, container menjalankan perintah bash di latar belakang.

Docker Run vs Start vs Create:Perbedaan Dijelaskan Untuk pemula docker, istilah seperti docker start, docker run, dan docker create bisa membingungkan. Artikel ini menjelaskan perbedaannya dengan contoh. Buku Pegangan LinuxAbhishek Prakash

Apa yang terjadi jika Anda tidak menjalankannya sebagai daemon (opsi-d) di latar belakang?

Jika Anda tidak menggunakan opsi -d, docker run akan membuat wadah baru dan Anda akan memiliki terminal dalam mode interaktif yang menjalankan bash shell.

Seperti yang Anda lihat pada contoh di bawah, wadah dibuat dan saya secara otomatis berada di dalam wadah (bash shell).

Masalahnya di sini adalah jika Anda keluar dari container, container akan berhenti.

[email protected]:~$ docker run -it ubuntu [email protected]:/# echo ini wadah baruini wadah [email protected]:/# [email protected]:~$ docker psCONTAINER ID IMAGE COMMAND NAMA PORT STATUS YANG DIBUAT 82766613e7bc ubuntu "bash" 2 menit yang lalu Naik 2 menit [email protected]:~$ docker ps -aCONTAINER ID IMAGE COMMAND "Dibuat STATUS ubuntu (06098c44f2407 NAMA PORTS ubuntuc44f2407 yang lalu ) 8 detik yang lalu bold_benz82766613e7bc ubuntu "bash" 2 menit yang lalu Naik 2 menit ditentukan_blackburn 

Apa yang terjadi jika Anda hanya menggunakan opsi -i (interaktif)?

Katakanlah Anda hanya menggunakan opsi -i. Dalam hal ini, Anda akan melihat permintaan interaktif tetapi jika Anda keluar dari permintaan interaktif (menggunakan Ctrl+D atau perintah keluar), Anda keluar dari penampung dan penampung berhenti.

[email protected]:~$ docker run -i ubuntu bashecho "ini interaktif"ini adalah [email protected]:~$ docker psCONTAINER ID IMAGE COMMAND NAMA PORT STATUS YANG [email protected]:~ $ docker ps -aCONTAINER ID IMAGE COMMAND NAMA PORT STATUS DIBUAT NAMASb6b79a9f7789 ubuntu "bash" 27 detik yang lalu Keluar (0) 9 detik yang laluloving_galileo 

Apa yang terjadi jika Anda hanya menggunakan opsi -t (terminal/tty)?

Itu situasi yang rumit karena dalam kasus itu, Anda akan memiliki terminal semu (jika Anda menggunakan opsi -t) tetapi Anda tidak akan memiliki STDIN. Dengan kata lain, Anda tidak dapat memasukkan apa pun, tidak dapat menjalankan perintah di dalam wadah seperti yang Anda lakukan sebelumnya:

[email protected]:~$ docker run -t ubuntu [email protected]:/# echo hello^C^[email protected]:/# echo "hai" ^C^Cexample@unixlinux .online:/# exit^C^[email protected]:/# 

Saya harus menghentikan kontainer dari terminal lain dalam kasus di atas.

Cara Keluar dari Kontainer DockerTips buruh pelabuhan kecil yang cepat ini menunjukkan cara keluar dari wadah buruh pelabuhan. Buku Pegangan LinuxAbhishek Prakash

Cara menjalankan wadah yang ada

Perintah docker run membuat wadah baru dari gambar yang ditentukan. Tapi apa yang terjadi jika Anda sudah memiliki wadah?

Jika Anda ingin menjalankan container yang sudah ada, Anda harus memulai container terlebih dahulu dan kemudian Anda dapat menggunakan opsi exec seperti ini:

docker memulai existing_container_ID_or_namedocker exec -itu existing_container_ID_or_name /bin/bash 

Contoh ini akan lebih baik untuk pemahaman Anda:

[email protected]:~$ docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESb6b79a9f7789 ubuntu "bash" 7 menit yang lalu Keluar (0) 7 menit yang [email protected]:~$ docker mulai b6b @unixlinux.online:~$ docker exec -it b6b79a9f7789 [email protected]:/# echo "inside existing container"di dalam existing [email protected]:/# lsbin boot dev etc home lib lib64 media mnt opt ​​proc root run sbin srv sys tmp usr [email protected]:/# [email protected]:~$ docker psCONTAINER ID IMAGE COMMAND NAMA PORT STATUS YANG DIBUAT B6b79a9f7789 ubuntu "bash" 8 menit yang lalu Naik 43 detikloving_galileo 

Mengapa menggunakan bash sepanjang waktu?

Dalam semua contoh di atas, saya telah menggunakan bash atau /bin/bash sebagai perintah yang dijalankan dengan wadah. Saya menggunakannya karena memberikan shell dan ketika Anda menjalankan container, berkat shell, Anda dapat menjalankan perintah biasa di dalam container seolah-olah Anda berada di dalam sistem Linux biasa.

Anda dapat meminta penampung untuk menjalankan perintah apa pun, tetapi perlu diingat bahwa penampung itu ada segera setelah perintah selesai.

Seperti yang Anda lihat pada contoh di bawah ini, tidak ada sesi terminal interaktif kali ini. Anda tidak lagi 'di dalam' wadah karena perintah echo segera selesai.

[email protected]:~$ docker exec -it b6b79a9f7789 echo [email protected]:~$ 

Anda sebenarnya dapat menjalankan perintah lain juga dan memasukkan wadah setelahnya.

Pada contoh di bawah ini, saya membuat container baru yang menjalankan server nginx pada port 80. Karena saya menjalankannya sebagai daemon dengan opsi -d, container nginx terus berjalan.

Dan kemudian saya menggunakan perintah docker exec untuk mendapatkan shell bash interaktif dan dengan demikian masuk ke dalam wadah nginx (yang pada dasarnya adalah Linux yang telah dikonfigurasi dengan nginx).

"'sdapre>[email protected]:~$ docker container run -it -d -p 8000:80 nginx262ca5b17bf8aac5afbfdf66af6383be164cd8488f8cd64c06ee466b4d7462e9example@unixlinux.online:~$COMMANUSD PORTAGESDAGINGIN COMMANUS PSCONTAIN dari..." 9 detik yang lalu Naik 8 detik 0.0.0.0:8000->80/tcp zen_kilbyb6b79a9f7789 ubuntu "bash" 20 menit yang lalu Naik 12 [email protected]:~$ docker exec -it 262ca5b17bf8 [email protected]:/ # lsbin boot dev etc home lib lib64 media mnt opt ​​proc root run sbin srv sys tmp usr [email protected]:/#

Saya harap Anda memiliki pemahaman yang lebih baik tentang cara menjalankan container docker dan mengapa ia menggunakan opsi tertentu.

Jika Anda memiliki pertanyaan atau saran, beri tahu saya di bagian komentar.


Docker
  1. Cara Menjalankan MySQL Dalam Wadah Docker

  2. Cara Berbagi Data Antar Wadah Docker

  3. Cara Mendaftar Kontainer Docker

  1. Pengantar Kontainer Docker

  2. Cara Menginstal, Menjalankan, dan Menghapus Aplikasi di Dalam Wadah Docker – Bagian 2

  3. Cara Menginstal Docker dan Menjalankan Wadah Docker di Ubuntu

  1. Bagaimana Cara Menjalankan Program Di Dalam Wadah Docker?

  2. Cara Menjalankan Perintah di Running Docker Container

  3. Cara mencadangkan dan memulihkan wadah Docker