如何使用Docker获取JDK+;MySQL+;Tomcat容器?
我的目标是获得“JDK+MySQL+Tomcat”Docker镜像 我是不是应该想通过建立这样的形象来实现这一点:如何使用Docker获取JDK+;MySQL+;Tomcat容器?,docker,Docker,我的目标是获得“JDK+MySQL+Tomcat”Docker镜像 我是不是应该想通过建立这样的形象来实现这一点: docker build -t myImage . 使用以下Dockerfile FROM mysql FROM tomcat FROM openjdk 然后像这样运行此图像: docker run -d -p 80:80 myImage 我应该改用yaml吗?运行tomcat和mysql服务器的最佳实践是什么?在yaml内部还是在控制台中手动运行?首先,您需要在微服务中拆
docker build -t myImage .
使用以下Dockerfile
FROM mysql
FROM tomcat
FROM openjdk
然后像这样运行此图像:
docker run -d -p 80:80 myImage
我应该改用yaml吗?运行tomcat和mysql服务器的最佳实践是什么?在yaml内部还是在控制台中手动运行?首先,您需要在
微服务中拆分应用程序,这是docker的理念,并且具有许多优点,包括:
- 改进的故障隔离
- 消除了对单个技术堆栈的长期承诺
- 使新开发人员更容易理解功能
一种服务
- 更轻松的升级管理
在您的情况下,我建议将JDK
、Mysql
、Tomcat
分离到各自的容器中。在dockerhub
上已经有Library
图像(官员)。您可以使用用户定义的网络
将3个容器连接在一起
多次使用FROM
指令将不会为您合并图像。来自
的最后一个将接管
最后,如果您坚持将它们组合在一个映像中,您应该选择一个基本映像,如Debian
,并使用Run
指令来安装所需的包并构建容器。我应该构建一个映像然后运行它吗?或者最好与YAML一起使用docker compose up-d
?YAML文件的存在是否意味着我可以避免显式构建映像?取决于,如果需要根据需要更改映像,则需要构建映像,但如果不需要,则可以使用官方映像
。无论哪种方式,您都将使用docker compose
一致地调出容器。