개발/GO

[Dockerfile] golang에서 imagemagick v3 사용하기

피클s 2022. 8. 16. 11:44

imagemagick은go get gopkg.in/gographics/imagick.v3 만 해서는 사용할 수 없다.

 

실행환경에 imagemagick이 설치되어 있어야 한다. (참고: https://github.com/gographics/imagick#install)

 

때문에 도커 환경을 구축하려면 imagemagick을 설치하는 과정이 필요하다.

 

공식 예제는 v2버전 이기 때문에 v3버전의 도커파일을 기록한다.

 

FROM golang:1.18-alpine

ENV IMAGEMAGICK_VERSION=7.1.0-45
RUN apk add --no-cache git gcc libc-dev imagemagick make
RUN cd && \
	wget https://github.com/ImageMagick/ImageMagick/archive/${IMAGEMAGICK_VERSION}.tar.gz && \
	tar xvzf ${IMAGEMAGICK_VERSION}.tar.gz && \
	cd ImageMagick* && \
	./configure \
	    --without-magick-plus-plus \
	    --without-perl \
	    --disable-openmp \
	    --with-gvc=no \
	    --disable-docs && \
	make -j$(nproc) && make install && \
	ldconfig /usr/local/lib

WORKDIR /usr/src/app
COPY . .

RUN go build -gcflags "all=-N -l" -o ./tmp/app

CMD ./app