반응형

golang , oracle 기반으로 백엔드 프로젝트를 진행하고 있고,

rabbitmq를 이용해서 대량 batch 처리하기로 프로젝트를 구성 하였습니다.

1.golang  -> gcc 필수 ( 컴파일 하기 위해서)

2.libc-dev -> oracle 필수

3. 오라클 instantclient 를 다운로드 받아서 설치 합니다.

4. 컴파일된 실행파일, shellscript 파일은 반드시 실행권을 줘야함

5. cmd 로 명령어 실행할 때 반드시 sh 넣어 줘야함

6. 반드시 golang project는 module 을 이용해서 만들것

  (java에 maven 생각하면됨 : 컴파일 하기 전 관련 소스파일을 다운로드 받아 실행함!)

 

 

FROM golang:1.15.6-alpine3.12 as builder
RUN apk add gcc
RUN apk add libc-dev
RUN apk --no-cache add tzdata && \
        cp /usr/share/zoneinfo/Asia/Seoul /etc/localtime && \
        echo "Asia/Seoul" > /etc/timezone

ENV LD_LIBRARY_PATH=/lib
RUN wget https://download.oracle.com/otn_software/linux/instantclient/193000/instantclient-basic-linux.x64-19.3.0.0.0dbru.zip && \
    unzip instantclient-basic-linux.x64-19.3.0.0.0dbru.zip && \
    cp -r instantclient_19_3/* /lib && \
    rm -rf instantclient-basic-linux.x64-19.3.0.0.0dbru.zip && \
    apk add libaio && \
    apk add libaio libnsl libc6-compat && \
    cd /lib && \
    ln -s /lib64/* /lib && \
    ln -s libnsl.so.2 /usr/lib/libnsl.so.1 && \
    ln -s libc.so /usr/lib/libresolv.so.2

WORKDIR /home/app
COPY go.mod .
COPY go.sum .
COPY startup.sh .
COPY . .
RUN mkdir logs
RUN go build -o ./bin/app .
RUN chmod 755 ./bin/app
RUN chmod 755 startup.sh
CMD ["sh","./startup.sh"]
반응형

'Docker' 카테고리의 다른 글

Elastic stack (ELK) on Docker elk 설치하기,centos7  (0) 2021.02.05
centos7 docker-compose 설치하기  (0) 2021.02.05
docker rabbitmq 설치  (0) 2021.01.15
docker , redis설치  (0) 2021.01.14
docker 실행 자동화  (0) 2020.12.11
블로그 이미지

visualp

c#, java

,