尝试启动

时间:2017-06-29 14:53:13

标签: docker docker-compose

当我尝试运行docker-compose时,我遇到了一个有趣的错误。我已经多次重新安装VM,所有内容都更新并安装但我无法运行撰写。

$ sudo docker-compose up -d
Creating network "apache2_default" with the default driver
Building mysql
ERROR: Error processing tar file(exit status 1): permission denied

我的docker-composer.yml文件:

version: '2'
services:
  mysql:
    build: ./mysql
    environment:
      MYSQL_ROOT_PASSWORD: pass
    volumes:
      - db:/var/lib/mysql
  php:
    build: ./php
    ports:
      - '80:80'
    volumes:
      - ./html:/var/www/html
    depends_on:
      - mysql
volumes:
  db:

我在Mac上运行它并且可以正常运行

编辑:

Dockerfile fot mysql:

FROM mysql:5.7
COPY ./my.cnf /etc/mysql/conf.d/

1 个答案:

答案 0 :(得分:0)

当构建上下文目录中存在不属于当前用户的文件(或文件夹)时,docker build构建命令可能会因权限错误而失败。

将卷装入主机目录时会发生这种情况;该目录中的文件可能由root拥有。

修复非常简单:只需创建一个.dockerignore文件,其中包含您不拥有的目录/文件的名称,并且在docker映像构建中不需要。

例如:

docker run -d -v $(pwd)/data-volume:/var/lib/mysql mysql

会创建一个data-volume目录。

如果您要构建Dockerfile,则.dockerignore中会有以下内容:

data-volume