相关疑难解决方法(0)

什么是docker容器的卷中的'z'标志 - 来自选项?

在浏览docker文档时,我遇到了来自(https://docs.docker.com/engine/reference/commandline/run/)docker run命令选项的卷.我不理解ro, rw, and z提供
$ docker run --volumes-from ba8c0c54f0f2:ro -i -t ubuntu pwd
ro选项之间的差异- 在上面的命令中,选项被替换为z.如果有人探讨使用这些选项的不同之处,我将感激不尽.

docker

40
推荐指数
2
解决办法
3万
查看次数

使用docker-compose为主机目录添加权限

我正在尝试使用docker-compose设置开发环境,我的容器似乎没有安装到容器的主机目录的权限,我在运行尝试修改文件夹的grunt任务时遇到此错误在卷内:

app_1                   | Warning: Unable to delete ".tmp" file (EACCES, permission denied '.tmp'). Use --force to continue.
Run Code Online (Sandbox Code Playgroud)

这是我的docker文件:

FROM node:0.10

RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

RUN apt-get update \
    && apt-get install -y --no-install-recommends ruby-sass \
    && rm -rf /var/lib/apt/lists/* \
    && apt-get clean -y \
    && apt-get autoremove -y

RUN npm install -g grunt-cli bower

RUN groupadd -r node \
&&  useradd -r -m -g node node

RUN chown -R node:node /usr/src/app

USER node

EXPOSE 8080
Run Code Online (Sandbox Code Playgroud)

和我的docker-compose文件:

app: …
Run Code Online (Sandbox Code Playgroud)

docker docker-compose

7
推荐指数
1
解决办法
2万
查看次数

docker中的可写文件夹权限

我有一个docker设置与localhost的一些网站.我使用Smarty作为我的模板引擎,它需要一个可写的templates_c文件夹.知道如何让这个文件夹可写吗?

错误如下:

PHP Fatal error:  Smarty error: unable to write to $compile_dir 
'/var/www/html/sitename.local/httpdocs/templates_c'. 
Be sure $compile_dir is writable by the web server user. in 
/var/www/html/sitename.local/httpdocs/libs/Smarty.class.php on 
line 1093
Run Code Online (Sandbox Code Playgroud)

我知道这可以用linux手动设置,但我正在寻找一个自动全局解决方案,因为我有很多网站有这个问题

另外值得一提的是我使用的是一个非常干净的docker-compose.yml

php56:
  build: .
  dockerfile: /etc/docker/dockerfile_php_56
  volumes:
    - ./sites:/var/www/html
    - ./etc/php:/usr/local/etc/php
    - ./etc/apache2/apache2.conf:/etc/apache2/conf-enabled/apache2.conf
    - ./etc/apache2/hosts.conf:/etc/apache2/sites-enabled/hosts.conf
  ports:
    - "80:80"
    - "8080:8080"
  links:
    - mysql


mysql:
  image: mysql
  ports:
    - "3306:3306"
  environment:
    - MYSQL_ROOT_PASSWORD=MY_PASSWORD
    - MYSQL_DATABASE=YOUR_DATABASE_NAME
  volumes: 
    - ./etc/mysql:/docker-entrypoint-initdb.d
Run Code Online (Sandbox Code Playgroud)

使用一个小的dockerfile进行基础知识:

FROM php:5.6-apache

RUN /usr/local/bin/docker-php-ext-install mysqli mysql
RUN    docker-php-ext-configure mysql --with-libdir=lib/x86_64-linux-gnu/ \ …
Run Code Online (Sandbox Code Playgroud)

docker docker-compose

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

docker ×3

docker-compose ×2