Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Apakah perbezaan antara t dan d dalam arahan run dalam docker?

Apakah perbezaan antara t dan d dalam arahan run dalam docker?

WBOY
WBOYasal
2022-01-28 15:38:188177semak imbas

Dalam docker, arahan run digunakan untuk mencipta bekas baharu dan menjalankan perintah Menetapkan parameter "-t" boleh menetapkan semula terminal input pseudo kepada bekas dan menetapkan parameter "-d" akan. Jalankan bekas di latar belakang dan kembalikan ID bekas.

Apakah perbezaan antara t dan d dalam arahan run dalam docker?

Persekitaran pengendalian tutorial ini: sistem linux7.3, versi docker-1.13.1, komputer Dell G3.

Apakah perbezaan antara t dan d dalam arahan run dalam docker run? >

penerangan PILIHAN:

-a stdin: Menentukan jenis kandungan input dan output standard, pilihan STDIN/STDOUT/STDERR; > -d: Jalankan bekas di latar belakang dan kembalikan ID bekas;
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

    -i: Jalankan bekas dalam mod interaktif, biasanya digunakan bersama -t; >
  • -P: Pemetaan port rawak, port dalaman kontena dipetakan secara rawak ke port hos

  • -p: Tentukan pemetaan port, formatnya ialah: hos ( hos) port: port kontena

  • -t: Tetapkan semula terminal input pseudo ke bekas, biasanya digunakan dengan -i; name="nginx-lb" : Tentukan nama untuk bekas;

  • --dns 8.8.8.8: Tentukan pelayan DNS yang digunakan oleh bekas, yang lalai kepada yang sama dengan hos;

  • --dns-search example.com: Tentukan nama domain carian DNS kontena, yang konsisten dengan hos secara lalai

  • -h "mars": Nyatakan nama hos bekas;

  • -e username="ritchie": Tetapkan pembolehubah persekitaran; >--env-file=[]: Baca pembolehubah persekitaran daripada fail yang ditentukan; ": ikat bekas ke CPU yang ditentukan untuk dijalankan;

  • -m: Tetapkan memori maksimum yang digunakan oleh bekas;

  • -- net="bridge": Tentukan jenis sambungan rangkaian bekas, menyokong bridge/host/none/container: empat jenis; bekas lain;

  • --expose=[]: Buka port atau port Kumpulan; kelantangan

  • Contohnya: "Saya mahu menjalankan cermin di latar belakang", Apabila saya melaksanakan perintah berikut

  • dan menyemak sama ada ia berjaya dijalankan melalui ps buruh pelabuhan, saya mendapati bahawa ia tidak berjalan dengan jayanya. ? Bukankah perlu menggunakan parameter -d untuk dijalankan di latar belakang? Sebenarnya, sebab utamanya ialah imej ini mungkin mempunyai CMD yang ditambahkan pada penghujungnya, serupa dengan

  • , yang bermaksud apabila anda menjalankannya di latar belakang, bekas yang dibuat oleh imej ini akan mula-mula laksanakan /bin/bash, yang bermaksud apabila Apabila berjalan di latar belakang (-d), shell keluar serta-merta. Jadi melainkan arahan tidak berjalan di latar depan, bekas akan berhenti serta-merta
  • Penyelesaian

  • Sediakan pseudo "tty n" untuk -d melalui -i atau -t
  • Tambah tail -f /dev/null pada arahan
  • Dengan melakukan ini, bekas tidak akan berhenti walaupun arahan utama berjalan di latar belakang kerana tail akan terus berjalan di latar depan.

  • Begitu juga dengan situasi yang lain (memasuki bekas secara rasmi mengesyorkan penggunaan -i dan -t untuk menjadikannya berkelakuan seperti cangkerang).
  • Pembelajaran yang disyorkan: "
  • tutorial video buruh pelabuhan
  • "

Atas ialah kandungan terperinci Apakah perbezaan antara t dan d dalam arahan run dalam docker?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn