Docker(7)tomcat7 기반java7 기반 이미지 구축alpine

1801 단어 미러링토대Docker
# AlpineLinux open jre 7
FROM alpine:latest

# Install cURL
RUN echo -e "https://mirror.tuna.tsinghua.edu.cn/alpine/v3.4/main
\ https://mirror.tuna.tsinghua.edu.cn/alpine/v3.4/community" > /etc/apk/repositories RUN apk --update add curl bash openjdk7-jre-base && \       rm -rf /var/cache/apk/* # Set environment ENV JAVA_HOME /usr/lib/jvm/default-jvm ENV PATH ${PATH}:${JAVA_HOME}/bin ADD ./apache-tomcat7  /home/apache-tomcat7 ENTRYPOINT ["/home/apache-tomcat7/bin/catalina.sh", "run"]

목록
-rw-r--r--. 1 root root     432 8    2 09:43 alpine_jdk7_tomcat7
drwxr-xr-x. 9 root root    4096 8    2 09:45 apache-tomcat7
-rw-r--r--. 1 root root 8975395 8    2 09:43 apache-tomcat-7.0.79.tar.gz

구축
docker build -t harbor.studeylinux.com/superjia/alpine_jdk7_tomcat7:v1 -f alpine_jdk7_tomcat7 .

- t는 tag입니다.push가 개인 창고에 도착하는 데 편리하도록 이름을 바꾸기 귀찮아서dockerfile를 지정합니다
참고:
1, 현재 디렉터리가 너무 크면 docker는 현재 디렉터리에 있는 파일 정보를 dockerdaemon에 기본적으로 저장합니다.
간단한 해결 방법은 dockerfile을 빈 디렉터리에 넣는 것이다
2, dockerfile을 구축할 때 entrypoint와 cmd의 차이에 주의해야 한다. entrypoint는 dockerfile의 명령을 마운트 해제한다. dockerrun에서 뒤에 있는 인자는 entrypoint가 지정한 명령을 바꾸지 않고 entrypoint에 의해 직접 차단된다.
그러나 cmd는 할 수 없습니다. docker run 뒤에 추가된 매개 변수는 cmd 명령을 직접 바꿉니다
3, 한 번에 베낀 것, 게으름 피우는 것
각별히 주의해라.어떤 것은 도커가 시작할 때 토마토캣을 시작하지 않고 바로 종료하는 것이다.이것은 결코 도커의 문제가 아니다.사용한 명령이 틀렸기 때문이다.catalina를 사용하십시오.shrun 이 인자, 이 명령은 계속 실행됩니다.하면, 만약, 만약...sh 때 백스테이지 나갔어.docker는 문제가 있는 줄 알았다.셸이 실행되면 바로 종료합니다.그리고 실행할 수 없어요.즉, entrypoint와 cmd 명령을 사용하는 것은 항상 실행되는 명령이어야 한다.entrypoin과 cmd의 차이는 cmd가 바뀔 수 있다는 것이다.docker run -it demo/tomcat-base bash 명령을 사용하면 두 개의 다른 패키지를 실행합니다.entrypoint의 가방tomcat이 시작되고 cmd로 만든 가방은tomcat이 셸에서 대체됩니다.시작하지 않습니다.

좋은 웹페이지 즐겨찾기