在docker制作镜像时,我们会创建Dockerfile文件并添加制作镜像的内容,
例如:
FROM centos:7
ADD jdk-8u51-linux-x64.tar.gz /usr/local/docker
ENV JAVA_HOME=/usr/local/docker/jdk1.8.0_51
PATH=/usr/local/docker/jdk1.8.0_51/bin:$PATH
CMD [‘bash’]
或者
FROM centos:7
ADD jdk-8u51-linux-x64.tar.gz /usr/local/
ADD sentinel-dashboard-1.8.1.jar /usr/local/
ENV JAVA_HOME=/usr/local/jdk1.8.0_51
PATH=/usr/local/jdk1.8.0_51/bin:$PATH
EXPOSE 8080
ENTRYPOINT [“java”,"-jar","/usr/local/sentinel-dashboard-1.8.1.jar"]
发现最后一行分别有CMD [‘bash’]和ENTRYPOINT [“java”,"-jar","/usr/local/sentinel-dashboard-1.8.1.jar"]
的区别。
说明:前者,在启动容器运行镜像时,我们可以使用指令把bash覆盖,而后者是不允许覆盖的。