스프링

 

 

 

 

 

 

 

 

https://hub.docker.com/r/stephenreed/jenkins-java8-maven-git/

젠키스 + java + 메이븐 + git 이미지로 실행 

 

윈도우에서 다커 파일 수정 하고 빌들 할 때에는  cygwin 에서 실행 하던지

 

$ docker login --username XXXXX --password xxxxx
으로 로그인 후 실행하던지

 

노트패드로 Dockerfile 을 만들고  Docker Quickstart Terminal 로 실행 

C:\Program Files\Docker Toolbox\docker-workspace

위 젠키스 + java + 메이븐 + git 이미지로 실행  는 로그인이 필요하기 때문에

docker login  

Docker Quickstart Terminal  에서 만 가능할 것같다.

 

 


https://docs.docker.com/engine/reference/builder/#usage

 

$vi Dockerfile

 

----------------------------------------------------------

FROM podbox/java8

RUN apt-get update

RUN apt-get install  -y language-pack-ko


# set locale ko_KR
RUN locale-gen ko_KR.UTF-8

ENV LANG ko_KR.UTF-8
ENV LANGUAGE ko_KR.UTF-8
ENV LC_ALL ko_KR.UTF-8

CMD /bin/bash

-------------------------------------------------------------------

 

검색

$ docker search java8

 

로그인 후  

ko_java 이름은 자유

 

이미지 빌드

$ docker build -t ko_java .
 

Administrator@8WWZYNOG30EGKNH MINGW64 /c/Program Files/Docker Toolbox/docker-workspace
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ko_java             latest              6a23523b9235        40 seconds ago      415MB


 

$이미지 실행 및 접속

Administrator@8WWZYNOG30EGKNH MINGW64 /c/Program Files/Docker Toolbox/docker-workspace
$ docker run -it --name my_java  ko_java   /bin/bash
root@5383f5697d14:/#

$ exit 

종료 하지않고 빠져나오기 

ctrl+p   ctrl+ q

 

다시 접속 하기

$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
5383f5697d14        ko_java             "/bin/bash"         4 minutes ago       Up 2 minutes                            my_java

컨테이너에 있는 아이디 두자리만 입력 해도 된다.  (아이디값이  앞자리가 1~2 자리가 유일하다면)

Administrator@8WWZYNOG30EGKNH MINGW64 /c/Program Files/Docker Toolbox/docker-workspace
$ docker exec -it 53 /bin/bash

 

멀티 빌드 추가 방법

https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#understand-build-context

 

----------------------------------------------------------------------

FROM podbox/java8

RUN apt-get update

RUN apt-get install  -y language-pack-ko


#set locale ko_KR
RUN locale-gen ko_KR.UTF-8
ENV LANG ko_KR.UTF-8
ENV LANGUAGE ko_KR.UTF-8
ENV LC_ALL ko_KR.UTF-8

#vim install
RUN apt-get install -y \
vim  \
git  \
nmap \


CMD /bin/bash
 

----------------------------------------------------------------------

 

$ docker build -t maven_java .

 

-------------------------------------------------------------------

FROM podbox/java8

RUN apt-get update

RUN apt-get install  -y language-pack-ko


#set locale ko_KR
RUN locale-gen ko_KR.UTF-8
ENV LANG ko_KR.UTF-8
ENV LANGUAGE ko_KR.UTF-8
ENV LC_ALL ko_KR.UTF-8

#vim install
RUN apt-get install -y wget
RUN apt-get install -y git 
RUN apt-get install -y vim  
RUN apt-get install -y nmap
RUN apt-get install -y maven


ENV MAVEN /usr/share/maven/bin:$MAVEN


CMD /bin/bash

---------------------------------------------------------------------

 

 

 

-f 옵션을 붙이면 컨테이너도 강제삭제

$ docker rmi -f [이미지id]

 

컨테이너 전체 삭제

$ docker rm $(docker ps -a -q)

이미지 전체 삭제

$ docker rmi $(docker images -q)

 

 

 

 

 

 

 

 

about author

PHRASE

Level 60  라이트

사람의 성품은 물과 같으니 물이 한 번 기울어 흩어지면 돌이켜질 수 없고, 성품이 한 번 방종해지면 바로잡지 못한다. 물을 제어하는 것은 반드시 둑으로 하고, 성품을 제어하는 것은 예법으로 한다. -명심보감

댓글 ( 4)

댓글 남기기

작성