【问题标题】:In docker-compose. How to set a volume for other user than root?在码头工人撰写。如何为root以外的其他用户设置音量?
【发布时间】:2018-02-12 01:45:08
【问题描述】:

我有这个 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

我之前尝试过创建目录和其他东西……但没有。

【问题讨论】:

  • 不要发送与您的问题无关的标签!
  • 我正在尝试使用更简单的 docker 容器(带有用户绑定挂载主用户的 debian):version: '2' services: debian: build: . volumes: - './caca:/home/newuser' tty: true 和 Dockerfile:FROM debian:jessie RUN useradd -rms /bin/bash newuser RUN chown -R newuser:newuser /home/newuser USER newuser WORKDIR /home/newuser 但它仍然设置了外部卷的根目录和用户的文件夹。

标签: docker docker-compose


【解决方案1】:

一个工作伙伴帮助了我......这很容易:

绑定挂载目录必须在 docker-compose 之前存在,因为 docker-compose 为 root 用户创建目录。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-08
    • 1970-01-01
    • 2018-10-14
    • 2019-02-13
    • 2018-11-29
    • 2018-03-29
    • 1970-01-01
    相关资源
    最近更新 更多