Skip to content

[BE] docker image 만들기

Yeonwoo Cho edited this page Aug 12, 2021 · 2 revisions

1. 현재 돌아가고 있는 컨테이너를 image화 하기

$ docker stop 컨테이너ID

$ docker commit -a "만들이미지이름" 컨테이너id 현재이미지이름

2. 우리의 프로젝트 기본 세팅을 image화 하기

EC2 내에 Dockerfile 생성

FROM	ubuntu:16.04

MAINTAINER	[email protected]

RUN	apt-get -y update

# java 설치
FROM    openjdk:11-jdk
ARG ssh_prv_key
ARG ssh_pub_key

# git, openssh-server 설치
RUN apt-get update && \
    apt-get install -y \
        git \
        openssh-server

RUN mkdir -p /root/.ssh && \
    chmod 0700 /root/.ssh && \
    ssh-keyscan github.com > /root/.ssh/known_hosts

RUN echo "$ssh_prv_key" > /root/.ssh/id_rsa && \
    echo "$ssh_pub_key" > /root/.ssh/id_rsa.pub && \
    chmod 600 /root/.ssh/id_rsa && \
    chmod 600 /root/.ssh/id_rsa.pub

RUN	git clone https://github.com/dusdn1702/2021-zzimkkong.git
COPY 	. /2021-zzimkkong/backend
WORKDIR /2021-zzimkkong/backend

RUN	git submodule update --init --remote

# build
RUN 	chmod +x ./gradlew
RUN 	./gradlew clean build -x test

ARG 	ENVIRONMENT
ENV 	SPRING_PROFILES_ACTIVE=${ENVIRONMENT}

EXPOSE 	8080

ENV	USE_PROFILE prod
ENTRYPOINT ["java", "-Dspring.profiles.active=${USE_PROFILE}", "-jar","build/libs/backend-0.0.1-SNAPSHOT.jar"]

만들어진 image hub에 올리기

  1. sudo docker login하고 로그인
  2. docker tag 만든이미지이름:태그 dusdn1702/원하는이미지명:태그
  3. docker push dusdn1702/원하는이미지명

hub에 올라간 이미지 사용하기

  • 젠킨스: docker pull dusdn1702/jenkins
  • 소나큐브: docker pull dusdn1702/sonarqube
  • 찜꽁: docker pull dusdn1702/zzimkkong
Clone this wiki locally