我已经实现了MySQL容器运行的dockarized。当我试图从其他dockarized应用程序连接到这个mysql docker服务时,它失败了。
我的码头工人:
version: '3'
services:
mysqlserver:
image: mysql-server
container_name: mysqlcontainer
build:
context: mysql-module/
dockerfile: Dockerfile
env_file: mysql-module/mysql.env
networks:
- backend
volumes:
- ./mysql-data:/var/lib/mysql
ports:
- 8001:3306
users:
image: users
build:
context: .
dockerfile: Dockerfile
ports:
- 7171:7171
env_file: ./api.env
networks:
- backend
networks:
backend:
driver: "bridge"
MySQL dockerfile:
FROM mysql/mysql-server:latest
ENV MYSQL_DATABASE userservice
ADD sql-scripts/createUsers.sql /docker-entrypoint-initdb.d
我从外部文件获取数据库凭据。
MYSQLDBGATEWAY=root:7890@tcp(mysqlcontainer://mysqlserver:8001)/userservice?parseTime=true
获取用户详细信息时出错,请拨打tcp:lookup mysqlcontainer://mysqlserver:8001:没有这样的主人
我错过了什么?这是我的第一个停靠MySQL的工作。
也在
sql-scripts/createUsers.sql
我的档案:
CREATE TABLE IF NOT EXISTS managerMinQuota (
id int NOT NULL AUTO_INCREMENT,
plan varchar(50) DEFAULT NULL,
minLimit int DEFAULT NULL,
PRIMARY KEY (id)
);
但这不是在运行时创建的。