본문 바로가기
개발 이야기/Docker

Docker 빌드 시 소스파일 git으로 얻어오기

by 농개 2019. 7. 21.

toy 프로젝트를 docker image로 만들어서 배포하고자

배포 시나리오를 생각던 중

docker build 시 소스파일을 git으로 가져오는 방법을 정리합니다.

 

 

테스트 환경 : VirtualBox 6.0사용

  • Host : Windows 10
  • Guest : Ubuntu 16.04

 

01. Docker 설치

https://basketdeveloper.tistory.com/26?category=798107 를 참고하시면 됩니다.

설치를 확인 하기 위해서는

 

아래 명령어로 docker version 확인 가능합니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
jckang@jckang:~$ docker version
Client:
 Version:           18.09.8
 API version:       1.39
 Go version:        go1.10.8
 Git commit:        0dd43dd87f
 Built:             Wed Jul 17 17:41:19 2019
 OS/Arch:           linux/amd64
 Experimental:      false
 
Server: Docker Engine - Community
 Engine:
  Version:          18.09.8
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.8
  Git commit:       0dd43dd
  Built:            Wed Jul 17 17:07:25 2019
  OS/Arch:          linux/amd64
  Experimental:     false
jckang@jckang:~$ 
 
cs

만약 Server 쪽 정보가 뜨지 않는다면

1
sudo usermod -aG docker [user명]
cs

 

권한 주고 로그오프 하시면 될겁니다.

 

 

 

02. Dockerfile 작성

아래와 같이 Dockerfile을 작성해줍니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
FROM ubuntu:16.04
LABEL version='1.0.0'
 
USER root
 
# sources.list 교체 후 적용
COPY sources.list /etc/apt/sources.list
RUN apt-get update
RUN apt-get upgrade -y
 
# container에 git 설치
RUN apt-get install git -y
 
# app 디렉토리 선정
RUN mkdir /opt/app
RUN git clone [Repository 주소 ex)https://github.com/aaa/bbb.git] /opt/app
cs

ubuntu 16.04 이미지를 base로 하구요.

빌드 시 sources.list를 교체 합니다. apt-get 패키지다운로드 서버를 변경하여 조금이라도 빨리 다운받을 수 있게 하기위함입니다. 생략해도 상관없습니다.

 

RUN apt-get install git -y 로 container 내에 git을 설치 해줍니다.

 

app 디렉터리 선정하여 없다면 만들어줍시다. (위 경우 /opt/app 으로...)

이후 git clone 명령어로 소스파일을 받을 수 있습니다.

 

 

03. Docker 빌드

아래 명령어로 빌드해봅시다.

 

1
docker build -t test:1.0.0 .
cs

 

 

04. Docker 실행

빌드가 성공적으로 완료되었다면 아래 명령어로 이미지 확인 후,

entry point를 bash 쉘로 하여 실행시켜봅시다.

1
2
3
4
5
jckang@jckang:~/portfolio_build$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
test                1.0.0               5c233d126367        43 minutes ago      805MB
ubuntu              16.04               13c9f1285025        4 weeks ago         119MB
jckang@jckang:~/portfolio_build$ docker run -it test:1.0.0 /bin/bash
cs

 

이후 /opt/app경로로 이동하여 소스가 정상적으로 받아졌는지 확인하면 끝~

 

'개발 이야기 > Docker' 카테고리의 다른 글

Docker 명령어 정리  (0) 2019.07.27
Docker compose로 Nginx + Web앱 띄워보기  (2) 2019.01.06
Docker 권한 일반사용자에게 주기  (0) 2018.09.08
Docker 삭제하기  (0) 2018.09.08
Docker 설치하기  (0) 2018.09.08