Editor PHP Zimo akan memperkenalkan anda cara mencipta bekas Docker mudah dan memasang utiliti Go di dalamnya. Docker ialah platform kontena popular yang membantu pembangun membungkus aplikasi dengan kebergantungan mereka untuk penggunaan mudah dan berjalan dalam persekitaran yang berbeza. Go ialah bahasa pengaturcaraan yang pantas dan cekap dengan banyak utiliti yang sangat baik tersedia. Artikel ini akan menunjukkan kepada anda cara menggunakan Docker untuk mencipta bekas ringkas dengan utiliti Go dipasang supaya anda boleh mula menggunakan persekitaran pembangunan Go dengan cepat. Mari mulakan!
Saya telah menerokai fungsi docker untuk mencipta bekas mudah dengan beberapa utiliti go dipasang. Saya perlu mencipta imej dengan utiliti gosec
和 govulncheck
dipasang supaya saya boleh menjalankannya pada kod dalam bekas. Percubaan kecil saya menghasilkan keputusan berikut:
# syntax=docker/dockerfile:1 from golang:1.19-alpine workdir /app env go111module=on # copying my code to check copy go.mod ./ copy go.sum ./ run go mod download copy *.go ./ run go build -o /docker-gs-ping run apk add --no-cache git run go install github.com/securego/gosec/v2/cmd/gosec@latest run go install golang.org/x/vuln/cmd/govulncheck@latest expose 8080 cmd [ "gosec ./..." ]
Menjalankan bekas mengakibatkan ralat:
docker: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "gosec ./...": stat gosec ./...: no such file or directory: unknown. ERRO[0000] error waiting for container: context canceled
Nampaknya saya perlu menentukan laluan ke utiliti yang dipasang, tetapi saya tidak dapat menjalankannya
Ia bukan isu laluan; Masalahnya ialah arahan anda dalam cmd
语句中使用的语法。您正在使用 cmd
语句的 json 格式; json 列表中的第一个参数是要运行的命令的名称。您已要求 docker 运行名为 gosec ./...
dockerfile yang sudah tentu tidak wujud.
Anda perlu membahagikannya kepada beberapa item senarai:
cmd [ "gosec", "./..." ]
Sebagai alternatif, anda boleh menggunakan bentuk shell arahan cmd
:
CMD gosec ./...
Mana-mana daripada ini akan berjalan apabila anda memulakan bekas gosec
.
Atas ialah kandungan terperinci Cara membuat bekas Docker mudah dengan utiliti Go dipasang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!