Ниже упоминается файл docker-compos.yml.
докер-compose.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-compose up, и служба работает без ошибок. Но после запуска службы появляется сообщение ниже.
ls: невозможно получить доступ к '/docker-entrypoint-initdb.d/': операция не разрешена
Когда я запускаю контейнер, появляется ошибка ниже.
Ошибка ответа от демона: контейнер 11b14cdf51369878501c76085e8fd21316e8a7c26a3ff140196d8674b52c3262 перезапускается, дождитесь запуска контейнера
Я проверил журнал докеров, и появилась та же проблема «Операция не разрешена».
Пожалуйста, помогите мне решить эту проблему. Любая помощь или обходной путь действительно ценятся.
Сообщение об ошибке из вашего контейнера mysql, и я подозреваю, что вы не показываете все свои монтирования/сборки, поскольку это невозможно воспроизвести в стандартном контейнере mysql:8.0.




Проблема заключается в образе my-sql, который определен в файле компоновки докеров. Измените его на указанное ниже изображение, и оно работает нормально.
image: mysql/mysql-server:8.0.27
Какой контейнер выдает ошибку? (Если вы полностью удалите контейнер Java, вы получите ту же ошибку?) Прикреплены ли к контейнеру базы данных дополнительные
volumes:, которые вы не показали?