我有三个集装箱在运行:
tomcat容器能够连接到mysql。节点能够连接到mysql。
然而,当tomcat容器试图连接到http请求上的节点时,使用node-container-id:3004/3333作为hostname:port或node-container-internal-ip:3004/3333作为hostip:port,,它总是提供404错误。
我的码头-Compose.yml如下:
version: '2.1'
services:
openmrs-referenceapplication-mysql:
restart: "always"
image: mysql:5.7
ports:
- 3333:3306
command: "mysqld --character-set-server=utf8 --collation-server=utf8_general_ci"
environment:
MYSQL_DATABASE: ${MYSQL_DB:-openmrs}
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-root-pass}
MYSQL_USER: ${MYSQL_USER:-openmrs_user}
MYSQL_PASSWORD: ${MYSQL_PASSWORD:-my-pass}
healthcheck:
test: "exit 0"
volumes:
- openmrs-referenceapplication-mysql-data:/var/lib/mysql
openmrs-referenceapplication-node:
restart: "always"
image: node:12.20.1
depends_on :
- openmrs-referenceapplication-mysql
expose:
- "3004"
ports:
- "3009:3004"
links:
- openmrs-referenceapplication-mysql
- openmrs-referenceapplication
environment:
DB_DATABASE: ${MYSQL_DB:-my-db}
DB_HOST: openmrs-referenceapplication-mysql
DB_USERNAME: ${MYSQL_USER:-root}
DB_PASSWORD: ${MYSQL_PASSWORD:-my-pass}
volumes:
- openmrs-referenceapplication-node-data:/home/azureuser/my-dir
- ./Mydir:/Mydir
command: node ./Mydir/bin/www
openmrs-referenceapplication:
restart: "always"
image: openmrs/openmrs-reference-application-distro:2.8.0
depends_on:
- openmrs-referenceapplication-mysql
ports:
- "8001:8080"
links:
- openmrs-referenceapplication-mysql
environment:
DB_DATABASE: ${MYSQL_DB:-openmrs}
DB_HOST: openmrs-referenceapplication-mysql
DB_USERNAME: ${MYSQL_USER:-openmrs_user}
DB_PASSWORD: ${MYSQL_PASSWORD:-my-pass}
DB_CREATE_TABLES: 'true'
DB_AUTO_UPDATE: 'true'
MODULE_WEB_ADMIN: 'true'
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/openmrs/"]
timeout: 20s
volumes:
- openmrs-referenceapplication-data:/usr/local/tomcat/.OpenMRS/
- /usr/local/tomcat/.OpenMRS/modules/ # do not store modules in data
- /usr/local/tomcat/.OpenMRS/owa/ # do not store owa in data
- ./webservices.rest-2.29.0.omod://usr/local/tomcat/.OpenMRS/modules/webservices.rest-2.29.0.omod
- /var/lib/tomcat8/webapps/ROOT.war:/usr/local/tomcat/webapps/ROOT
volumes:
openmrs-referenceapplication-mysql-data:
openmrs-referenceapplication-data:
openmrs-referenceapplication-node-data:知道我错过了什么吗?
谢谢
发布于 2021-02-12 11:28:33
安永!
您的容器可以使用服务名称(只有此名称)到达。因此,如果您想从另一个节点容器到达节点容器,则必须输入以下入口:http://openmrs-referenceapplication-node/<sub_path>。要到达容器外的服务(在本地机器上),只需访问:localhost:3009 (在您的情况下)。
处理conectivity问题的最佳方法是进入容器并尝试对目标容器进行ping。此外,您应该使用最新版本的compose networks,而不是links。
https://stackoverflow.com/questions/66170217
复制相似问题