在docker-compose中。如何为除root之外的其他用户设置卷?

时间:2018-02-12 01:45:09

标签: docker docker-compose

我有这个docker-compose.yml:

version: '2'

services:
  httpd:
     build: ./etc/httpd/
     restart: always
     ports:
       - 8080:80
     volumes:
       - ./www:/var/www/html
     links:
       - maria_db

  maria_db:
    image: mariadb
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: root
    ports:
      - 3306:3306
    volumes:
      - db_data:/var/lib/mysql

volumes:
  db_data:
    driver: local

这个./etc/php/Dockerfile

FROM php:7.0-apache

RUN a2enmod rewrite

当它运行时: $ docker-compose up --build -d

绑定卷的目录仅适用于root:

$ ls -la
total 20
drwxr-xr-x  4 md   md   4096 feb 12 02:42 .
drwxr-xr-x 14 md   md   4096 feb 11 03:01 ..
-rw-r--r--  1 md   md    395 feb 12 02:39 docker-compose.yml
drwxr-xr-x  3 md   md   4096 feb 12 01:55 etc
drwxr-xr-x  2 root root 4096 feb 12 02:42 www

我试图在目录和其他东西之前创建......但不是。

1 个答案:

答案 0 :(得分:-1)

求职者帮助了我......很容易:

在docker-compose之前必须存在bind mount目录,因为docker-compose为root用户创建目录。