【发布时间】:2019-05-08 01:40:46
【问题描述】:
如何将我在 webapps 文件夹中具有 war 文件的 tomcat 容器链接到另一个具有 mysql 数据库的容器。当前,如果我在 tomcat 管理器应用程序中启动我的 war 文件,我会收到错误消息,说无法在 contextpath /data-core-0.0 启动应用程序。 1-SNAPSHOT catalina 生命周期异常。
我认为我的tomcat容器无法访问mysql数据库容器!!
statefulset.yaml
serviceName: mysql
template:
metadata:
labels:
name: mysql
spec:
containers:
- name: mysql
image: suji165475/vignesh:latest
ports:
- containerPort: 3306
volumeMounts:
- name: mysql-initdb
mountPath: /docker-entrypoint-initdb.d
volumes:
- name: mysql-initdb
persistentVolumeClaim:
claimName: mysql-initdb-pv-claim
persistantvolumeclaim.yaml
kind: PersistentVolume
apiVersion: v1
metadata:
name: mysql-initdb-pv-volume
labels:
type: local
app: mysql
spec:
storageClassName: manual
capacity:
storage: 1Mi
accessModes:
- ReadOnlyMany
hostPath:
path: "/tmp/data"
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: mysql-initdb-pv-claim
labels:
app: mysql
spec:
storageClassName: manual
accessModes:
- ReadOnlyMany
resources:
requests:
storage: 1Mi
tomcatdeployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: tomcat-deployment
labels:
app: tomcat
spec:
replicas: 1
selector:
matchLabels:
app: tomcat
template:
metadata:
labels:
app: tomcat
spec:
containers:
- name: tomcat
image: suji165475/vignesh:tomcatserver
ports:
- containerPort: 8080
【问题讨论】:
-
您是否创建了连接到 mysql pod 的服务。理想情况下,您的 tomcat 应用程序应将
mysql-service作为主机进行连接。 -
是的,我创建了一个集群 ip 类型的 mysql 服务
-
对于 MySQL 我使用有状态集而不是部署
-
你能从tomcat容器ping mysql服务吗?
-
no.. 当我尝试从 tomcat 容器 ping mysql 时,它说未知主机 mysql
标签: docker kubernetes docker-compose