让我们考虑一个场景。我只有一个服务器。我在主机上安装了Java 8,我需要部署4个docker容器,每个容器都有java web应用程序。
我的问题是,安装在主机服务器上的java能否管理docker容器中部署的应用程序,或者我必须在每个容器中安装java 8。如果我必须在每个容器中安装java,那么虚拟机和容器之间的区别是什么,因为我们还在每个容器中安装操作系统(最低版本)。
发布于 2016-05-12 13:57:13
您的主机是否安装了Java并不重要。
您需要一个Java docker镜像,只需在dockerhub上搜索一些即可。然后在该映像的基础上构建应用程序,并将该映像旋转为容器。
您提到了web应用程序,因此您必须确保从容器映射的主机端口是唯一的。例如,我相信你不能让java容器#1到#4映射到相同的主机端口1234。
它必须类似于Java web容器#1的端口123映射到主机100,然后容器#2的端口123映射到主机端口101。
希望这能有所帮助。
发布于 2016-05-12 16:17:11
有两种情况,
你可以像下面这样把所有的容器都建立在官方的Java镜像上,
从java:8 ... ...
您可以创建Dockerfiles
从centos:7运行yum update -y && \ yum install Cookie wget && \ wget --no- -y --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F;oraclelicense=accept-securebackup-cookie“"http://download.oracle.com/otn-pub/java/jdk/7u80-b15/jdk-7u80-linux-x64.rpm”“&& \ yum localinstall -y jdk-7u80-linux-x64.rpm && \ rm -f jdk-7u80-linux-x64.rpm && \ yum清理所有ENV JAVA_HOME /usr/java/jdk1.7.0_80 ENV PATH $JAVA_HOME:$PATH CMD "/bin/bash"
然后构建基本的java镜像。
docker build -t my-oracla-java:8 .然后,将所有容器映像都建立在java映像的基础上
FROM my-oracla-java:8
...
...https://stackoverflow.com/questions/37178280
复制相似问题