我有2个Dockerfiles,一个用于tomee,另一个用于Postgres:
Postgres的:
https://drive.google.com/folderview?id=0B-aNPJi4oG7scGZ5cng5SHhzSnM&usp=sharing
Tomcat的:
https://drive.google.com/folderview?id=0B-aNPJi4oG7sTDZ0cXJoSTVoT3c&usp=sharing
创建图像后(postgres-img和tomee-img),我以这种方式运行容器:
docker run -p 5432:5432 -e POSTGRES_PASSWORD=postgres --name= postgress postgres-image
然后tomee
docker crete -p 8080:8080 --link postgress:postgress --name=tomcatt tomee-img
当我启动容器所有工作时,我可以从浏览器192.168.99.100:8080看到Web应用程序,我可以使用ip 192.168.99.100:5432在PGAdmin上看到远程数据库。
正如你所看到的,我用post链接tomee和postgress所以在tomee.xml中我设置了jdbc:postgresql://postgress:5432/postgres
因为我看到链接后你可以使用你选择的别名。
我在这个帖子中看到了这个解决方案:Docker Tomcat container unable to access Postgres container
问题是Web应用程序不与始终为空的db通信。这就像tomee.xml没用。
还有其他方法可以连接容器吗?