Program shell yang betul untuk titik masuk kontena docker alpine golang?

王林
Lepaskan: 2024-02-09 14:09:09
ke hadapan
961 orang telah melayarinya

golang alpine docker 容器入口点的正确 shell 程序?

Apakah pintu masuk shell yang betul untuk bekas Docker Alpine Golang? Ini adalah masalah yang sering dihadapi oleh ramai pembangun apabila membina bekas Docker menggunakan imej Golang dan Alpine. Sebelum menyelesaikan masalah ini, kita perlu memahami terlebih dahulu pengetahuan berkaitan Golang dan Alpine. Golang ialah bahasa pengaturcaraan yang cekap dan ringkas, manakala Alpine ialah pengedaran Linux yang ringan. Apabila menggunakan Alpine sebagai imej asas, beberapa arahan Shell biasa mungkin hilang kerana sifatnya yang diperkemas. Jadi, bagaimana untuk menetapkan titik masuk bekas Docker Alpine Golang dengan betul supaya ia boleh menjalankan program shell? Mari kita lihat jawapan yang diberikan oleh editor php Apple.

Kandungan soalan

Saya cuba memulakan bekas docker alpine golang (hanya imej asas) dan segera menyambung kepadanya untuk menjalankan arahan, tetapi saya tidak dapat menentukan shell yang betul.

docker run -d golang:1.20-alpine --entrypoint=bin/sh
ec90a5d5eeba63e509acc09e234054d883aa122cd7617f89b61e7d71220847cd
docker: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "--entrypoint=bin/sh": stat --entrypoint=bin/sh: no such file or directory: unknown.
Salin selepas log masuk

Saya juga mencuba: /bin/sh. Apa yang saya hilang di sini?

Penyelesaian

Saya hanya akan menulis jawapan dalam komen dan bukannya arahan.

Untuk memulakan bekas docker alpine golang (hanya imej asas) dan segera menyambung kepadanya untuk menjalankan arahan, anda boleh melakukan perkara berikut:

docker run -it golang:1.20-alpine /bin/sh
Salin selepas log masuk

Jika anda ingin menamakan bekas anda, anda boleh melakukan ini:

docker pull golang:1.20-alpine
docker run -id --name=test5 golang:1.20-alpine
docker exec -it test5 /bin/sh
Salin selepas log masuk

Anda boleh menggunakan docker stop test5 -t 2 停止容器,然后使用 docker start test5 untuk memulakan bekas semula.

Anda boleh memadamkannya dengan melaksanakan docker rm test5.

Anda boleh menukar sedikit arahan untuk mengelakkan ralat:

docker run -d --entrypoint=/bin/sh golang:1.20-alpine
Salin selepas log masuk

Sila ambil perhatian bahawa suis baris arahan --entrypoint mendahului golang:1.20-alpine.

Atas ialah kandungan terperinci Program shell yang betul untuk titik masuk kontena docker alpine golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!