首页 > 解决方案 > Docker 入口点 initdb 权限被拒绝

问题描述

运行 docker-compose up 时出现以下错误:

在此处输入图像描述

非常感谢你的帮助

标签: sqlpostgresqldockerdocker-composerelational-database

解决方案


在将脚本复制到 docker-entrypoint-initdb.d 后,我通过将其添加到 Dockerfile 解决了这个问题

RUN chown -R mysql:mysql /docker-entrypoint-initdb.d/

示例 Dockerfile

FROM mysql:latest

ENV MYSQL_DATABASE NAME_DATABASE
ENV MYSQL_ROOT_PASSWORD ***********

COPY ./sql-scripts/ /docker-entrypoint-initdb.d/
RUN chown -R mysql:mysql /docker-entrypoint-initdb.d/
EXPOSE 3306

CMD ["mysqld", "--character-set-server=utf8mb4", "--collation-server=utf8mb4_unicode_ci"]

下一步是构建镜像:

docker build -t image-db:latest . 

下一步是创建容器

docker run -d -p 3306:3306 --name container-db  image-db:latest

推荐阅读