天天看點

golang打包應用,基于alpine linux制作最小的docker運作環境

golang編寫的程式,建構以後剛開始是采用docker的Ubuntu鏡像作為運作環境,總覺得太大,太重了。

後來想能不能找個輕量級的docker鏡像呢?發現了alpine,于是就試用了一下

docker-compose檔案

version: '3'
services:
  service:
    restart: always
    image: alpine
    ports: 
      - 8002:8002
    volumes:
      - ./:/goserver/app/
      - ./config.ini:/goserver/config.ini
    working_dir: /goserver/app/
    command: [./server]
    tty: true 

           

還是想得太簡單了,發現執行失敗。于是網上找了資料,說在編譯go程式時,加上參數​-tags netgo。

go build -tags netgo -o ./path
           

再次執行docker-compose up -d 服務起來了,整個環境隻有5M多~

golang打包應用,基于alpine linux制作最小的docker運作環境

更多内容關注公衆号:唐楓橋

繼續閱讀