ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Docker container를 image화 하여 사용하기
    Docker 2021. 4. 4. 19:53

    2023.01.03 에 이전에 작성한 글을 보니 너무 성의가 없어서 이어서 작성하고자 한다.

    본인의 의도는 golang container를 base로 하여 oracle DB 환경을 얹고 .crt로 인증서 업데이트도 하고자 한다.

     

    Golang Docker image를 pull 한 뒤 container 내부로 들어간다.

    1. docker pull golang:latest
    2. docker run -itd --name server_base golang:latest
    3. docker cp xxx.crt server_base:/xxx.crt (인증서 파일 복사)
    4. docker exec -it server_base /bin/bash

    이제 ubuntu에서 필요한 파일을 설치하고 인증서를 업데이트 한다.

    1. apt-get update
    2. apt-get upgrade
    3. apt-get install -y ca-certificates vim
    4. cp xxx.crt /usr/local/share/ca-certificates/xxx.crt
    5. chmod 644 /user/local/share/ca-certificates/xxx.crt && update-ca-certificates

    Oracle DB client를 다운로드 받아서 특정 경로에 놓는다.

    1. Wget https://download.oracle.com/otn_software/linux/instantclient/191000/instantclient-basic-linux.x64-19.10.0.0.0dbru.zip?
    2. Wget https://download.oracle.com/otn_software/linux/instantclient/19800/instantclient-sqlplus-linux.x64-19.8.0.0.0dbru.zip?
    3. unzip instantclient-basic-linux.x64-19.10.0.0.0dbru.zip -d /opt/oracle
    4. unzip instantclient-sqlplus-linux.x64-19.8.0.0.0dbru.zip -d /opt/oracle/
    5. apt-get install libaio1

    이제 docker image를 생성하고 docker harbor에 push한다.

    1. docker commit server_base
    2. docker tag ${image_id} harbor_ip:port/repository_path/server_base:0.0.1
    3. docker push ${image_id} harbor_ip:port/repository_path/server_base:0.0.1

    이제 Dockerfile에서 사용할 때 해당 image를 사용할 수 있다.

    FROM harbor_ip:port/repository_path/server_base:0.0.1
    
    #oracle setting
    ENV PATH /opt/oracle/instantclient_19_10:$PATH
    ENV LD_LIBRARY_PATH /opt/oracle/instantclient_19_10:$LD_LIBRARY_PATH
    
    ADD . /my/path
    WORKDIR /my/path
    RUN go mod tidy
    RUN go build -o jh main.go
    RUN chmod +x jh
    CMD ["./jh dev"]

    'Docker' 카테고리의 다른 글

    docker-compose로 mongodb 실행하기  (0) 2022.03.25
    Docker 환경에서 mongo replicaset 구성하기  (0) 2021.04.17
    docker-compose.yml file 설정하기  (0) 2021.04.04
    Docker build  (0) 2021.04.04
    Ubuntu Docker 시작하기  (0) 2021.02.06

    댓글

Designed by Tistory.