第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何在 docker 容器中下載 golang 和 node

如何在 docker 容器中下載 golang 和 node

Go
aluckdog 2022-10-17 19:13:32
我正在構(gòu)建一個(gè)簡(jiǎn)單的節(jié)點(diǎn)服務(wù)器以在 docker 中運(yùn)行。我介紹了一個(gè)小的 golang 模塊,可以通過運(yùn)行來執(zhí)行g(shù)o run /root/component-review-handler/downloader/main.go -build 1621568 -outdir /usr我目前通過在啟動(dòng)時(shí)運(yùn)行以下腳本在我的節(jié)點(diǎn)服務(wù)器中本地運(yùn)行它exec(    `cd ${process.env.ROOT_PATH}/component-review-handler && go run cmd/downloader/main.go`,    (error, stdout, stderr) => {      if (error) {        logger.error(`error: ${error.message}`)        return      }      if (stderr) {        logger.log(`stderr: ${stderr}`)        return      }      logger.log(`stdout: ${stdout}`)    }  )但是當(dāng)我在docker中運(yùn)行代碼時(shí),出現(xiàn)以下錯(cuò)誤error: Command failed: cd /usr/src/app/component-review-handler && go run cmd/downloader/main.go/bin/sh: 1: go: not found有誰知道如何在我的 docker 容器中安裝 node 和 golang?當(dāng)前的 DockerfileFROM node:14WORKDIR /usr/src/appCOPY package*.json ./RUN npm installCOPY . .ENV NODE_TLS_REJECT_UNAUTHORIZED='0'EXPOSE 3000CMD ["node", "server.js" ]
查看完整描述

1 回答

?
回首憶惘然

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超11個(gè)贊

Go 是一種編譯語言,通常不需要 Go 工具鏈來運(yùn)行 Go 程序。


我會(huì)為此使用多階段構(gòu)建。第一階段是FROM golang擁有工具鏈并構(gòu)建二進(jìn)制文件;第二個(gè)COPY --from將第一個(gè)圖像放入通常位于搜索路徑上的目錄中。


FROM golang:1.17 AS downloader

WORKDIR /app                       # not under /go

COPY component-review-handler/ ./  # (double-check this COPY syntax)

RUN go build -o downloader ./cmd/downloader


FROM node:14

# vvv add this line

COPY --from=downloader /app/downloader /usr/local/bin/


# same as before

WORKDIR /usr/src/app

COPY package*.json ./

RUN npm install

COPY . .

ENV NODE_TLS_REJECT_UNAUTHORIZED='0'

EXPOSE 3000

CMD ["node", "server.js"]

由于二進(jìn)制文件現(xiàn)在位于/usr/local/bin默認(rèn)$PATH目錄中,因此您可以在您的代碼中運(yùn)行它,而無需使用cdorgo run部分


const { execFile } = require('child_process');

execFile('downloader',

         (error, stdout, stderr) => { ... });


查看完整回答
反對(duì) 回復(fù) 2022-10-17
  • 1 回答
  • 0 關(guān)注
  • 101 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)