错误:启动容器进程导致“exec:\”/docker-entrypoint.sh\”:权限被拒绝”

Lim*_*mup 4 docker dockerfile docker-compose

我正在尝试构建 docker-compose,但出现此错误:

错误:对于 indicaaquicombrold_mysqld_1 无法启动服务 mysqld:oci 运行时错误:container_linux.go:247:启动容器进程导致“exec:\”/docker-entrypoint.sh\“:权限被拒绝”

错误:对于mysqld无法启动服务mysqld:oci运行时错误:container_linux.go:247:启动容器进程导致“exec:\”/docker-entrypoint.sh\“:权限被拒绝”

错误:启动项目时遇到错误。

docker-compose.yml

version: '3'

services:
  php:
    build:
      context: ./docker/php
    image: indicaaqui.com.br:tag
    volumes:
      - ./src:/var/www/html/
      - ./config/apache-config.conf:/etc/apache2/sites-enabled/000-default.conf
    ports:
      - "80:80"
      - "443:443"

  mysqld: 
    build:
      context: ./docker/mysql
    environment:
      - MYSQL_DATABASE=db_indicaaqui
      - MYSQL_USER=indicaqui
      - MYSQL_PASSWORD=secret
      - MYSQL_ROOT_PASSWORD=docker      
    volumes:
      - ./config/docker-entrypoint.sh:/docker-entrypoint.sh
      - ./database/db_indicaaqui.sql:/docker-entrypoint-initdb.d/db_indicaaqui.sql
Run Code Online (Sandbox Code Playgroud)

Dockerfile (php)

FROM php:5.6-apache

MAINTAINER Limup <limup@outlook.com>

CMD [ "php" ]

RUN docker-php-ext-install pdo_mysql

# Enable apache mods.
# RUN a2enmod php5.6
RUN a2enmod rewrite


# Expose apache. 
EXPOSE 80
EXPOSE 443

# Use the default production configuration
# RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
RUN mv "$PHP_INI_DIR/php.ini-development" "$PHP_INI_DIR/php.ini"

# Override with custom opcache settings
# COPY ./../../config/php.ini $PHP_INI_DIR/conf.d/

# Manually set up the apache environment variables
 ENV APACHE_RUN_USER www-data
 ENV APACHE_RUN_GROUP www-data
 ENV APACHE_LOG_DIR /var/log/apache2
 ENV APACHE_LOCK_DIR /var/lock/apache2
 ENV APACHE_PID_FILE /var/run/apache2.pid

# Update the PHP.ini file, enable <? ?> tags and quieten logging.
RUN sed -i "s/short_open_tag = Off/short_open_tag = On/" "$PHP_INI_DIR/php.ini"
RUN sed -i "s/error_reporting = .*$/error_reporting = E_ERROR | E_WARNING | E_PARSE/" "$PHP_INI_DIR/php.ini"

RUN a2dissite 000-default.conf 
RUN chmod -R 777 /etc/apache2/sites-enabled/

WORKDIR /var/www/html/

# By default start up apache in the foreground, override with /bin/bash for interative.
CMD ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]
Run Code Online (Sandbox Code Playgroud)

Dockerfile (Mysql)

FROM mariadb:latest

RUN chmod -R 777 /docker-entrypoint.sh
ENTRYPOINT ["/docker-entrypoint.sh"]

EXPOSE 3306
CMD ["mysqld"]
Run Code Online (Sandbox Code Playgroud)

请帮我解决这个问题!
有任何想法吗?

BMi*_*tch 10

这很可能是config/docker-entrypoint.sh. 如果你的主机是 Linux/Mac,你可以运行:

chmod 755 config/docker-entrypoint.sh
Run Code Online (Sandbox Code Playgroud)

有关 linux 权限的更多信息,这里有一篇有用的文章:https : //www.linux.com/learn/understanding-linux-file-permissions