Пожалуйста, не помечайте это как дубликат. В этот раз я внес некоторые изменения. Поверьте, я пробовал другие ответы, и они, похоже, не решают мою проблему. Я не могу связать контейнер tomcat с моей базой данных MySQL контейнер в кубернетес.
Построил мой образ кота с помощью этого файла dockerfile
FROM picoded/tomcat7
COPY data-core-0.0.1-SNAPSHOT.war /usr/local/tomcat/webapps/data-core-0.0.1-SNAPSHOT.war
MySQL-service.yaml
apiVersion: v1
kind: Service
metadata:
name: mysql
spec:
ports:
- port: 3306
selector:
app: mysql
MySQL-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: mysql
spec:
selector:
matchLabels:
app: mysql
strategy:
type: Recreate
template:
metadata:
labels:
app: mysql
spec:
containers:
- image: mysql:5.6
name: mysql
imagePullPolicy: "IfNotPresent"
env:
- name: MYSQL_ROOT_PASSWORD
value: root
- name: MYSQL_DATABASE
value: data-core
ports:
- containerPort: 3306
name: mysql
volumeMounts:
- name: mysql-persistent-storage
mountPath: /docker-entrypoint-initdb.d //my sql init script will
get copied from hostpath
of persistant volume.
volumes:
- name: mysql-persistent-storage
persistentVolumeClaim:
claimName: mysql-initdb-pv-claim
Tomcat-service.yaml
apiVersion: v1
kind: Service
metadata:
name: tomcat
labels:
app: tomcat
spec:
type: NodePort
ports:
- name: myport
port: 8080
targetPort: 8080
nodePort: 30000
selector:
app: tomcat
tier: frontend
Tomcat-Deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: tomcat
labels:
app: tomcat
spec:
selector:
matchLabels:
app: tomcat
tier: frontend
strategy:
type: Recreate
template:
metadata:
labels:
app: tomcat
tier: frontend
spec:
containers:
- image: suji165475/vignesh:tomcatserver //this is the tomcat image
built using dockerfile with
war file(spring boot app)
copied to webapps folder
name: tomcat
env:
- name: DB_PORT_3306_TCP_ADDR
value: mysql #service name of mysql
- name: DB_ENV_MYSQL_DATABASE
value: data-core
- name: DB_ENV_MYSQL_ROOT_PASSWORD
value: root
ports:
- containerPort: 8080
name: myport
volumeMounts:
- name: tomcat-persistent-storage
mountPath: /var/data
volumes:
- name: tomcat-persistent-storage
persistentVolumeClaim:
claimName: tomcat-pv-claim
Я указал все переменные среды, включая имя службы MySQL, в развертывании Tomcat, необходимое для их подключения. Также убедитесь, что созданы постоянные тома и утверждения для обоих контейнеров. Однако мой файл war все еще не запускается в приложении менеджера tomcat.
Правильны ли мои файлы yaml или есть какие-то изменения, которые нужно внести ??
ПРИМЕЧАНИЕ: я работаю на сервере, используя терминал замазки.
URL-адрес, используемый для доступа к моему приложению в браузере-
206.189.22.155: 30000 / данных ядро-0.0.1-SNAPSHOT