【发布时间】:2019-03-31 19:47:45
【问题描述】:
我是 Docker 新手。我对自己的理解几乎没有怀疑。这是我的理解。
Docker 通过为您的应用程序创建一个轻量级、独立、可执行的包来解决这些问题,其中包含运行它所需的一切,包括代码、运行时、库、工具、环境和配置
这是否意味着相同的容器映像将在不同的操作系统上运行?例如:
我希望下面的 DockerFile 将创建容器镜像并仅在 CENTOS 上运行。 如果我想运行我的应用程序不同的操作系统,那么我应该有不同的 DockerFile 配置,具体取决于操作系统。在这种情况下,docker容器的优势是什么?你能纠正我的理解吗?
FROM centos
ENV JAVA_VERSION 8u31
ENV BUILD_VERSION b13
# Upgrading system
RUN yum -y upgrade
RUN yum -y install wget
# Downloading & Config Java 8
RUN wget --no-cookies --no-check-certificate --header "Cookie: oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/$JAVA_VERSION-$BUILD_VERSION/jdk-$JAVA_VERSION-linux-x64.rpm" -O /tmp/jdk-8-linux-x64.rpm
RUN yum -y install /tmp/jdk-8-linux-x64.rpm
RUN alternatives --install /usr/bin/java jar /usr/java/latest/bin/java 200000
RUN alternatives --install /usr/bin/javaws javaws /usr/java/latest/bin/javaws 200000
RUN alternatives --install /usr/bin/javac javac /usr/java/latest/bin/javac 200000
EXPOSE 8080
#install Spring Boot artifact
VOLUME /tmp
ADD /maven/sfg-thymeleaf-course-0.0.1-SNAPSHOT.jar sfg-thymeleaf-course.jar
RUN sh -c 'touch /sfg-thymeleaf-course.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/sfg-thymeleaf-course.jar"]
【问题讨论】:
标签: docker spring-boot docker-compose dockerfile docker-machine