Editor PHP Xinyi akan memperkenalkan anda cara menyahpepijat karang docker dan cara menetapkan laluan konfigurasi. Penyahpepijatan docker-compose ialah langkah penting dalam menyelesaikan masalah aplikasi kontena dan membantu pembangun mengenal pasti ralat dan membetulkannya. Untuk nyahpepijat docker-compose, anda perlu menyemak fail docker-compose.yml untuk mengesan ralat sintaks dan kesilapan taip. Jika fail itu betul, anda boleh menggunakan arahan `docker-compose config` untuk mengesahkan ketepatan fail konfigurasi. Laluan konfigurasi biasanya ditetapkan dalam fail docker-compose.yml dan kata kunci `volume` boleh digunakan untuk menentukan laluan kongsi antara bekas dan hos. Semasa mengkonfigurasi laluan, anda juga perlu memberi perhatian kepada sama ada laluan itu wujud pada hos untuk memastikan bekas boleh mengakses fail yang diperlukan dengan betul. Melalui kaedah di atas, anda boleh menyahpepijat docker-compose dan menetapkan laluan konfigurasi dengan mudah.
Saya cuba nyahpepijat docker-compose
, fail Go ini, untuk menyelesaikan beberapa masalah (ini). Untuk melakukan ini, saya menyediakan penyahpepijat GoLang
go run main.go -f /.../project_root/docker-compose.yml -f /.../project_root/folder1/docker-compose.yml config
adalah seperti yang dijangkakan, fail konfigurasi digabungkan.
Atas sebab tertentu saya tidak dapat mencari fail konfigurasi yang ditetapkan dalam kod, walaupun ia mesti ditetapkan di suatu tempat kerana outputnya ialah fail konfigurasi yang digabungkan dengan betul. Saya mengesyaki mereka mesti ditubuhkan di suatu tempat dekat sini atau sini. Tetapi di tempat sebelumnya, cli.configFile
的值为 nil
,而在后一个地方,o.ConfigPaths
的值为 nil
.
Jadi saya ada dua soalan:
docker-compose
sebenar? Berdasarkan soalan di atas dan mencari di mana laluan konfigurasi mungkin ditetapkan, soalan saya sekarang ialah di mana untuk menetapkan laluan kelantangan.
Apakah laluan konfigurasi? Fail konfigurasi lalai (docker-compose.yaml
)的路径由 cli.withdefaultconfigpath
方法设置(在 compose-go
repositori). Nama yang mungkin untuk konfigurasi lalai ditetapkan di sini一>:
// defaultfilenames defines the compose file names for auto-discovery (in order of preference) var defaultfilenames = []string{"compose.yaml", "compose.yml", "docker-compose.yml", "docker-compose.yaml"}
withdefaultconfigpath
方法会迭代此列表,如果找到匹配的文件,则会将其应用于 projectoptions
结构中的 configpaths
padang, di sini:
type projectoptions struct { projectname string profiles []string configpaths []string workdir string projectdir string envfile string compatibility bool }
withdefaultconfigpath
方法应用在toprojectoptions
, di sini:
func (o *ProjectOptions) toProjectOptions(po ...cli.ProjectOptionsFn) (*cli.ProjectOptions, error) { return cli.NewProjectOptions(o.ConfigPaths, append(po, cli.WithWorkingDirectory(o.ProjectDir), cli.WithOsEnv, cli.WithEnvFile(o.EnvFile), cli.WithDotEnv, cli.WithConfigFileEnv, cli.WithDefaultConfigPath, cli.WithName(o.ProjectName))...) }
Atas ialah kandungan terperinci Bagaimana untuk menyahpepijat docker-compose? Di manakah laluan konfigurasi ditetapkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!