linux - 使用 docker-machine 更改文件组

标签 linux laravel docker docker-machine

我在我的 Mac 上安装了 docker-machine,当我在运行 Apache 的容器上安装 laravel 时,我无法更改文件上的组以将它们放在 www-data 上。

当我尝试时:

/bin/chown www-data:www-data -R /var/www/laravel/storage /var/www/laravel/bootstrap/cache

我有这个错误信息:

chown: unknown user/group www-data:www-data

我尝试将用户添加到 www-data 组并重新启动 docker-machine,但这不起作用。

我的设置是这样的:我有一个 virtualbox 映射到我的 Mac。文件 /var/www 是我的 /Document/site 的映射。我使用 Docker Hub 上的图像。文件镜像是 mysql 并与端口 3306 映射,我将我的数据库保存到 /var/lib/boot2docker/mysql。第二张图片是 apache,我映射端口 8888:80。我的 Dockerfile 不包含任何内容,但我的 docker-compose.yml 包含:

web:
  image: eboraas/apache
  ports:
    - "8888:80"
  volumes:
    - /var/www/laravel-site:/var/www/html
  links:
    - db:db

db:
  image: mysql
    ports:
      - "3306:3306"
    volumes:
      - /var/lib/boot2docker/mysql:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=root

我将 laravel 与 compose 加载到我的 Mac。

最佳答案

要做你想做的事,你必须做一个 docker-dial 并在本地运行你的脚本

把它放在你的 docker-composer 中

web:
  image: eboraas/apache
  ports:
    - "8888:80"
  volumes:
    - /var/www/laravel-site:/var/www/html
  links:
    - db:db

db:
  image: mysql
    ports:
      - "3306:3306"
    volumes:
      - /var/lib/boot2docker/mysql:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=root

在使用 docker.sock 创建 map 后,docker 将在您的本地机器上为您创建容器

关于linux - 使用 docker-machine 更改文件组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42181259/

相关文章:

ios - 如何为移动应用程序授予对我的api的访问权限?

php - Laravel 5.6 如何逐行读取文本文件

docker - 有什么方法可以防止 k8s pod eviction?

docker - Docker如何安装Shell函数?

ruby-on-rails - 使用 docker 卷时,本地更改不反射(reflect)浏览器中的更改

java - 将 cp-1252 编码为 utf-8?

python - 无法在 ubuntu 中安装 pip?

linux - 从 Linux 主机触发 Visual Studio 构建

ruby - Chef 用户组对子文件夹的权限

php - FPDF 页眉和页脚