sql - Docker 入口点 initdb 权限被拒绝
解决方案
在将脚本复制到 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
推荐阅读
- vue.js - VueJS 模板中的元素引用 self
- python - 在 Python Socket 上通过 TCP 将 txt 文件发送到服务器
- python-3.x - python从给定位置的字符串中删除字符串
- node.js - NestJS - 每个模块使用多个 MongoDB 连接
- sublimetext3 - 启动时自动加载 Sublime 工作区
- java - Quarkus 开发模式下的 Maven 多模块项目
- ruby-on-rails - 有没有办法根据特定顺序对 Rails 中的国家/地区进行排序?
- java - 在多维数组中搜索字符串
- scala - 在 Scala 中使用 AWS Glue 在 S3 中加载 CSV 文件
- sql - 在 Google BigQuery 中取消嵌套 3 级依赖项