Jadual Kandungan
Kandungan soalan
解决方法
Rumah pembangunan bahagian belakang Golang Mengapa fail tidak dapat ditemui selepas menyalinnya ke bekas?

Mengapa fail tidak dapat ditemui selepas menyalinnya ke bekas?

Feb 09, 2024 am 08:24 AM
overflow

Mengapa fail tidak dapat ditemui selepas menyalinnya ke bekas?

editor php Yuzai mungkin menghadapi masalah biasa apabila menggunakan teknologi kontena: fail tidak dapat ditemui selepas ia disalin ke bekas. Masalah ini biasanya berlaku apabila menggunakan platform kontena seperti Docker. Sebabnya mungkin laluan fail ditetapkan dengan tidak betul, atau sistem fail di dalam bekas tidak konsisten dengan mesin hos. Terdapat banyak cara untuk menyelesaikan masalah ini, seperti menggunakan laluan mutlak atau menyalin fail ke dalam bekas melalui folder kongsi. Sebelum menyelesaikan masalah ini, kita perlu terlebih dahulu memahami hubungan pemetaan antara sistem fail kontena dan laluan fail, dan cara mengkonfigurasi laluan fail dengan betul.

Kandungan soalan

Saya mempunyai fail docker seperti yang ditunjukkan di bawah:

from golang:1.19 as builder
workdir /app
copy . .
run cgo_enabled=0 go build -v -o "hello-bin"


#from scratch
from alpine
copy --from=builder /app/hello-bin /app/hello-bin
copy --from=builder /app/start.sh /app/start.sh
workdir /app
entrypoint  [ "./start.sh" ]
Salin selepas log masuk

Ia hanya membina binari daripada fail hello-world go. Walau bagaimanapun, apabila saya cuba menjalankan bekas ini dengan tetapan karang docker berikut, ia menunjukkan exec ./start.sh: no such file or directory.

version: "3"

services:
  hello:
    restart: always
    build:
      context: .
      dockerfile: dockerfile
Salin selepas log masuk

Struktur direktori ialah

❯ tree .
.
├── dockerfile
├── docker-compose.yaml
├── go.mod
├── hello
├── init.go
└── start.sh
Salin selepas log masuk

Oleh itu start.sh 应通过 copy 加载到 <code>builder 容器中。 . 行也是如此,它应该通过 copy --from=builder /app/start.sh /app/start.sh disalurkan ke bekas kedua.

Konteks, kandungan start.sh adalah seperti berikut:

#!/bin/bash

_main() {
  echo "start"
}

_main "$@"
Salin selepas log masuk

Bahagian yang paling mengelirukan bagi saya ialah jika saya menukarnya kepada cmd [ "ls", "-l" ] dalam fail docker ia sebenarnya mencetaknya

awesomeproject3-hello-1  | -rwxr-xr-x    1 root     root       1819562 May 19 02:41 hello-bin
awesomeproject3-hello-1  | -rwxrwxrwx    1 root     root            51 May 19 02:39 start.sh
Salin selepas log masuk

Jika saya menukarnya kepada entrypoint [ './hello-bin' ] ,二进制文件也会成功运行。我只是不明白为什么它说没有 ./start.sh dalam fail docker.

Kemas kini: Diilhamkan oleh @larsks, saya perasan bahawa jika saya menukar pengepala ./start.sh daripada ./start.sh 的标头从 #!/bin/bash 更改为 #!/bin/sh,它会神奇地工作。我仍然很困惑这里的根本问题是什么,如果我想保留 bash 标头,我应该如何修复 docker 文件?

解决方法

发生错误是因为您在 start.sh 中使用了 #!/bin/bash, ia berfungsi secara ajaib. Saya masih keliru apakah isu asas di sini, bagaimana saya harus membetulkan fail docker jika saya mahu menyimpan pengepala bash?

PenyelesaianRalat berlaku kerana anda menggunakan #!/bin/bash dalam

.

bashImej docker Alpine tidak mempunyai bash yang dipasang secara lalai. Ia menggunakan cangkerang Busybox sebaliknya.

Boleh pasang #!/bin/bash 更改为 #!/bin/sh dalam bekas. Lihat

Docker: Bagaimana untuk menggunakan bash dengan imej docker berasaskan Alpine? 🎜🎜 🎜Atau anda boleh menggantikannya dengan 🎜, seperti yang anda nyatakan dalam ulasan soalan. 🎜

Atas ialah kandungan terperinci Mengapa fail tidak dapat ditemui selepas menyalinnya ke bekas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Gambaran keseluruhan harga sejarah Bitcoin sejak kelahirannya Koleksi lengkap trend harga sejarah Bitcoin. Gambaran keseluruhan harga sejarah Bitcoin sejak kelahirannya Koleksi lengkap trend harga sejarah Bitcoin. Jan 15, 2025 pm 08:14 PM

Bitcoin, sebagai mata wang kripto, telah mengalami turun naik pasaran yang ketara sejak penubuhannya. Artikel ini akan memberikan gambaran keseluruhan harga sejarah Bitcoin sejak kelahirannya untuk membantu pembaca memahami arah aliran harga dan detik pentingnya. Dengan menganalisis data harga sejarah Bitcoin, kami dapat memahami penilaian pasaran terhadap nilainya, faktor yang mempengaruhi turun naiknya, dan menyediakan asas untuk keputusan pelaburan masa hadapan.

Senarai harga sejarah sejak kelahiran carta Trend Harga Sejarah Bitcoin BTC (Ringkasan Terkini) Senarai harga sejarah sejak kelahiran carta Trend Harga Sejarah Bitcoin BTC (Ringkasan Terkini) Feb 11, 2025 pm 11:36 PM

Sejak penciptaannya pada tahun 2009, harga Bitcoin telah mengalami beberapa turun naik utama, meningkat kepada $ 69,044.77 pada November 2021 dan jatuh ke $ 3,191.22 pada Disember 2018. Sehingga Disember 2024, harga terkini telah melebihi $ 100,204.

Harga terbaru Bitcoin pada 2018-2024 USD Harga terbaru Bitcoin pada 2018-2024 USD Feb 15, 2025 pm 07:12 PM

Harga USD Bitcoin masa nyata Faktor yang menjejaskan harga bitcoin Petunjuk untuk meramalkan harga bitcoin masa depan Berikut adalah beberapa maklumat penting mengenai harga Bitcoin pada 2018-2024:

Adakah pengeluaran halaman H5 adalah pembangunan front-end? Adakah pengeluaran halaman H5 adalah pembangunan front-end? Apr 05, 2025 pm 11:42 PM

Ya, pengeluaran halaman H5 adalah kaedah pelaksanaan penting untuk pembangunan front-end, yang melibatkan teknologi teras seperti HTML, CSS dan JavaScript. Pemaju membina halaman H5 yang dinamik dan berkuasa dengan bijak menggabungkan teknologi ini, seperti menggunakan & lt; kanvas & gt; Tag untuk menarik grafik atau menggunakan JavaScript untuk mengawal tingkah laku interaksi.

Bagaimana untuk menyesuaikan simbol saiz semula melalui CSS dan menjadikannya seragam dengan warna latar belakang? Bagaimana untuk menyesuaikan simbol saiz semula melalui CSS dan menjadikannya seragam dengan warna latar belakang? Apr 05, 2025 pm 02:30 PM

Kaedah penyesuaian simbol saiz semula dalam CSS bersatu dengan warna latar belakang. Dalam perkembangan harian, kita sering menghadapi situasi di mana kita perlu menyesuaikan butiran antara muka pengguna, seperti menyesuaikan ...

Bagaimana untuk mengawal bahagian atas dan akhir halaman dalam tetapan percetakan penyemak imbas melalui JavaScript atau CSS? Bagaimana untuk mengawal bahagian atas dan akhir halaman dalam tetapan percetakan penyemak imbas melalui JavaScript atau CSS? Apr 05, 2025 pm 10:39 PM

Cara menggunakan JavaScript atau CSS untuk mengawal bahagian atas dan akhir halaman dalam tetapan percetakan penyemak imbas. Dalam tetapan percetakan penyemak imbas, ada pilihan untuk mengawal sama ada paparan ...

Kenapa unsur-unsur blok sebaris tidak disengajakan? Bagaimana menyelesaikan masalah ini? Kenapa unsur-unsur blok sebaris tidak disengajakan? Bagaimana menyelesaikan masalah ini? Apr 04, 2025 pm 10:39 PM

Mengenai sebab-sebab dan penyelesaian untuk memaparkan unsur-unsur blok sebaris. Apabila menulis susun atur laman web, kami sering menghadapi masalah paparan yang kelihatan aneh. Bandingkan ...

Teks di bawah susun atur flex ditinggalkan tetapi bekas dibuka? Bagaimana menyelesaikannya? Teks di bawah susun atur flex ditinggalkan tetapi bekas dibuka? Bagaimana menyelesaikannya? Apr 05, 2025 pm 11:00 PM

Masalah pembukaan kontena kerana peninggalan teks yang berlebihan di bawah susun atur flex dan penyelesaian digunakan ...

See all articles