[컨테이너 ----Docker] idea가 SpringBoot 프로그램을 Docker 미러링으로 구성

3303 단어 컨테이너 - Docker
1. 먼저 docker의 2375 포트 감청 열기
vim /usr/lib/systemd/system/docker.service

추가 구성
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

그리고 docker를 다시 불러옵니다.서버 파일 및 docker 서비스 다시 시작
systemctl daemon-reload
systemctl restart docker

 
2. Dockerfile 구성 파일 구성
프로젝트/src/main에 docker 디렉터리를 추가하고 이 디렉터리에 Dockerfile 파일을 추가합니다
내용은 다음과 같다.
FROM java:8

MAINTAINER Sunny [email protected]

VOLUME /tmp

ADD application-server.jar app.jar

RUN bash -c 'touch /app.jar'

RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone

EXPOSE 28011

ENTRYPOINT ["java", "-jar", "app.jar"]

참고:
  • VOLUME: 임시 파일 디렉토리를 /tmp로 지정합니다.그 효과는 호스트/var/lib/docker 디렉터리에 임시 파일을 만들고 용기에 연결하는 것이다/tmp.절차를 바꾸는 것은 선택할 수 있는 것이기 때문에 파일 시스템의 응용과 관련이 있다면 매우 필요하다./tmp 디렉터리는 Docker 데이터 폴더로 오래도록 유지됩니다. Spring Boot에서 사용하는 내장된 Tomcat 용기는 기본적으로 /tmp를 작업 디렉터리로 사용하기 때문입니다
  •  
    pom.xml 추가 설정
                
                
                    com.spotify
                    docker-maven-plugin
                    1.0.0
                    
                    
                        
                            build-image
                            
                            package
                            
                                build
                            
                        
                    
                    
                        
                        ${docker.registry}/${project.build.finalName}
                        
                        
                            ${project.version}
                        
                        
                        src/main/docker
                        
                        http://47.92.145.192:2375
                        
                            
                                /
                                
                                ${project.build.directory}
                                
                                ${project.build.finalName}.jar
                            
                        
                    
                

    참고:
  • imageName: 개인 이미지 라이브러리로 전송하려면 앞에 IP 주소와 포트를 추가해야 합니다
  • imageName: 이름의 형식은 대소문자, 숫자, 그리고 중간 줄만 허용합니다. 그렇지 않으면 인터넷 ServerErrorException: http 500
  •  
    3. maven clean package 명령 빌드 실행
     
    패키지 후 docker는 docker 서버에 직접 발표하고 명령을 사용합니다
    docker images

    발표가 성공했는지 확인하고 docker push를 통해 개인 이미지 라이브러리로 가면 됩니다
     
     
     
     

    좋은 웹페이지 즐겨찾기