下面提到的docker-compos.yml文件是docker文件。
停靠-撰写.yml
version: "3.0"
services:
api_service:
build: .
restart: always
ports:
- 8090:8090
depends_on:
- mysql_db
links:
- mysql_db:app_db
mysql_db:
image: "mysql:8.0"
restart: always
ports:
- 3306:3306
environment:
MYSQL_DATABASE: test_db
MYSQL_USER: user
MYSQL_PASSWORD: password
MYSQL_ROOT_PASSWORD: password
停靠文件
FROM openjdk:11
EXPOSE 8090
RUN mkdir app
ADD target/test-service-composite-1.0.0.RELEASE.jar /app/test-service-composite.jar
ADD config/application.yml /app/application.yml
ENTRYPOINT ["java","-jar","/app/test-service-composite.jar","--spring.config.location=/app/application.yml"]
应用程序.yml
app:
name: test-service
server:
port: 8090
spring:
datasource:
url: jdbc:mysql://app_db:3306/test_db
username: user
password: password
initialization-mode: always
jpa:
properties:
hibernate:
dialect: org.hibernate.dialect.MySQL8Dialect
hibernate:
ddl-auto: create
当我执行docker-composite up命令时,服务启动,没有任何错误。但启动服务后,出现以下消息。
无法访问“/docker-entrypoint-initdb.d/”:不允许的操作
当我执行容器时,出现以下错误。
来自守护程序的错误响应:容器11b 14 cdf 51369878501 c76085 e8 fd 21316 e8 a7 c26 a3 ff140196 d8674 b52 c3262正在重新启动,请等待容器运行
我检查了Docker日志,出现了相同的“不允许操作”问题。
请帮助我解决这个问题。任何帮助或变通办法是真的感谢。
1条答案
按热度按时间luaexgnf1#
问题出在docker合成文件中定义的my-sql映像中。将其更改为下面提到的映像,它将正常工作。