部署imageMagick问题

项目使用docker-compose 部署,通过Dockerfile编译
首先上Dockerfile

FROM golang:alpine

ENV TZ Asia/Shanghai
ENV GOPROXY https://goproxy.cn,direct
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories

RUN apk --no-cache add tzdata \
    && cp "/usr/share/zoneinfo/$TZ" /etc/localtime \
    && echo "$TZ" > /etc/timezone

RUN apk add gcc g++ pkgconf imagemagick imagemagick-dev

WORKDIR /app

下面是docker-compose.yml文件

version: '3.0'

services:
  image-magick:
    build:
      context: ./images
    container_name: imageMagick
    volumes:
      - ./:/app
    ports:
      - "9999:9999"
    privileged: true
    restart: always
    tty: true
    networks:
      - docker-go_common_net
networks:
  docker-go_common_net:
    external: true

启动容器

 docker-compose up -d                                                        

然后进入容器中,启动项目

/app/images # go run images.go
Starting server at 0.0.0.0:9999...

启动时遇到过一些问题,如下:

问题1:

/app/images # go run images.go
# gopkg.in/gographics/imagick.v3/imagick
cgo: C compiler "gcc" not found: exec: "gcc": executable file not found in $PATH

# 提示未找到gcc编译器, 下面安装
/app/images # apk add gcc

问题2:

/app/images # go run images.go
# gopkg.in/gographics/imagick.v3/imagick
In file included from /go/pkg/mod/gopkg.in/gographics/imagick.v3@v3.4.2/imagick/affine_matrix.go:8:
/usr/include/ImageMagick-7/MagickWand/MagickWand.h:59:10: fatal error: stdio.h: No such file or directory
   59 | #include <stdio.h>
      |          ^~~~~~~~~
compilation terminated.

# 提示不存在头文件, 安装g++
/app/images # apk add g++
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
未填写
文章
39
粉丝
9
喜欢
71
收藏
102
排名:461
访问:1.9 万
私信
所有博文
社区赞助商