docker-compose用户映射

时间:2019-05-17 10:54:09

标签: docker docker-compose

我正在使用一个非常简单的docker-compose文件:

version: '2'
services:

db:
  image: mysql:5.7 # https://hub.docker.com/_/mysql/ - or mariadb https://hub.docker.com/_/mariadb
  container_name: prestashop_db
  ports:
    - 3306:3306 # change ip if required
  volumes:
    # for init 
    - ./db-init:/docker-entrypoint-initdb.d # IMPORTANT ! comment after the first docker-compose up 
    - ./db-data:/var/lib/mysql
  environment:
    MYSQL_ROOT_PASSWORD: root
    MYSQL_DATABASE: prestashop
    MYSQL_USER: docker
    MYSQL_PASSWORD: docker     
  restart: unless-stopped

prestashop:
  image: prestashop/prestashop:1.7-7.2-apache
  container_name: prestashop_www
  ports:
    - 127.0.0.1:80:80 # change ip if required
  volumes:
    # sites directory: add the sources
    - ./src:/var/www/html
  environment:
    DB_SERVER: "db:3306"
    DB_USER: docker
    DB_PASSWD: docker
  depends_on:
    - db
  links:
    - db:db 

在我的src目录中生成的所有内容(实际上对应于prestashop代码)都具有www-data:www-data所有者。这意味着我实际上无法编辑它。如果我以主机用户身份更改权限或创建任何文件,则由于未映射用户,因此服务中出现权限错误。

我想让docker在prestashop服务中将我的主机用户映射到www-data用户,并在docker-compose文件中指定它。可能吗?这是我以前对LXC容器所做的事情,非常有用。

我不想: *运行任何脚本以更改权限或将我的用户添加到主机中的www-data组

感谢您的帮助

0 个答案:

没有答案