与以下问题不同:如何访问在Docker容器中运行的mysql数据库?我有一个在容器中的tomcat中运行的spring boot应用程序,它是根据官方tomcat映像构建的。
Dockerfile
x: paramvalue1 ;
y: paramvalue2 ;
z: paramvalue3 ;
当我想运行docker容器时,我说:
FROM tomcat:latest
RUN rm -f -R $CATALINA_HOME/webapps/ROOT
COPY build/libs/web-1.0-SNAPSHOT.war $CATALINA_HOME/webapps/web.war
COPY context.xml $CATALINA_HOME/conf/context.xml
然后我得到了一堆与数据库未接收到任何数据包有关的堆栈跟踪:
docker build .
#it prints out the newly generated container image id such as 08fc6cbf7759
docker run -p 8888:8080 08fc6cbf7759
如果将WAR文件拖放到本地运行的tomcat中而不是运行docker映像,它将部署良好,没有数据库连接问题。因此,我知道docker必须要限制一些东西与外部任何事物的联系。