部署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 协议》,转载必须注明作者和本文链接