Macos Apache和passenger在Docker mac和ubuntu上的表现不同
在mac或linux上部署运行apache2+passenger phusion+rails应用程序的容器时,我遇到了一些问题。 我使用从docker hub中提取的相同图像(基于ubuntu:14.04)和相同的run命令Macos Apache和passenger在Docker mac和ubuntu上的表现不同,macos,apache,ubuntu,docker,passenger,Macos,Apache,Ubuntu,Docker,Passenger,在mac或linux上部署运行apache2+passenger phusion+rails应用程序的容器时,我遇到了一些问题。 我使用从docker hub中提取的相同图像(基于ubuntu:14.04)和相同的run命令 docker run -it -p 80:80 -p 443:443 -e RAILS_ENV=development --link pg my-image-name 在OSX 10.10.5上,运行docker 1.9.1,构建a34a1d5,一切正常。 在我的生产服务
docker run -it -p 80:80 -p 443:443 -e RAILS_ENV=development --link pg my-image-name
在OSX 10.10.5上,运行docker 1.9.1,构建a34a1d5,一切正常。
在我的生产服务器Ubuntu14.04.3 LTS上,运行相同的docker版本,我得到以下错误
AH00035: access to / denied (filesystem path '/home/app/app') because search permissions are missing on a component of the path
使用chmod 775-R/home/app设置权限。
下面是passenger和apache版本+配置
Server version: Apache/2.4.7 (Ubuntu)
Server built: Oct 14 2015 14:20:21
Phusion Passenger 5.0.22
<VirtualHost *:80>
ServerName www.my-app.com
DocumentRoot /home/app/app/public
PassengerRuby /usr/bin/ruby
RailsEnv development
ErrorLog "/home/app/app/log/apache_error_log"
CustomLog "/home/app/app/log/apache_access_log" common
<Directory /home/app/app/public>
AllowOverride all
Options -MultiViews +FollowSymLinks +Indexes
Require all granted
Order allow,deny
allow from all
</Directory>
</VirtualHost>
服务器版本:Apache/2.4.7(Ubuntu)
服务器构建时间:2015年10月14日14:20:21
Phusion乘客5.0.22
服务器名www.my-app.com
DocumentRoot/home/app/app/public
PassengerRuby/usr/bin/ruby
RailsEnv开发
ErrorLog“/home/app/app/log/apache\u error\u log”
CustomLog“/home/app/app/log/apache\u access\u log”通用
允许超越所有
选项-多视图+FollowSymLinks+索引
要求所有授权
命令允许,拒绝
通融
知道为什么在运行同一个容器的OSX和Ubuntu之间会出现两种不同的行为吗
感谢如中所述:
我想我也看到过类似的问题,与aufs驱动程序有关
通过使用“devicemapper”而不是“aufs”进行修复,多亏了这篇文章:“” 更改了
/etc/default/docker
以启用设备映射器:(先保存图像) 系统确认其工作正常: 我原以为Ubuntu LTS会默认使用设备映射器,但通过键入
docker info | grep Storage
,我在mac和Ubuntu中都会得到Storage Driver:aufs
。奇怪的是,我的图像在mac和UbuntuOnDeviceMapper上旋转良好 如中所述: 我想我也看到过类似的问题,与aufs驱动程序有关 通过使用“devicemapper”而不是“aufs”进行修复,多亏了这篇文章:
“” 更改了
/etc/default/docker
以启用设备映射器:(先保存图像) 系统确认其工作正常: 我原以为Ubuntu LTS会默认使用设备映射器,但通过键入
docker info | grep Storage
,我在mac和Ubuntu中都会得到Storage Driver:aufs
。奇怪的是,我的图像在mac和UbuntuOnDeviceMapper上旋转良好
也许切换到devicemapper,如中所示?它工作得很好!非常感谢。我原以为Ubuntu LTS会默认使用设备映射器,但通过键入
docker info | grep Storage
我在mac和Ubuntu中都会得到Storage Driver:aufs
。奇怪的是,我的图像在mac和UbuntuOnDeviceMapper上旋转良好。算了吧!再次感谢您可能切换到devicemapper,如中所示?它工作得很好!非常感谢。我原以为Ubuntu LTS会默认使用设备映射器,但通过键入docker info | grep Storage
我在mac和Ubuntu中都会得到Storage Driver:aufs
。奇怪的是,我的图像在mac和UbuntuOnDeviceMapper上旋转良好。算了吧!再次感谢
# Use DOCKER_OPTS to modify the daemon startup options.
DOCKER_OPTS="--storage-driver=devicemapper"