cap production deploy时候public/uploads文件夹内容无法共享解决办法

本文介绍了如何使用Capistrano进行部署配置,特别是针对文件系统的链接和符号链接设置,以确保应用在不同环境中能够正确地引用到公共资源文件。

http://stackoverflow.com/questions/9043662/carrierwave-files-with-capistrano

 

# cap 3.2
# in config/deploy.rb
set :linked_dirs, fetch(:linked_dirs) + %w{public/system public/uploads}

cap production deploy:check:linked_dirs
cap production deploy:symlink:shared

 

# cap 2
# config/deploy.rb
set :shared_children, shared_children + %w{public/uploads}

cap production deploy:setup

 

`-v "/home/user/deploy/mount/config/":/mosquitto/config/` 是 Docker 命令中用于挂载卷(volume)的参数。 ### 含义 在 Docker 中,`-v` 是 `--volume` 的简写形式,用于将宿主机的目录或文件挂载到容器内部。`-v "/home/user/deploy/mount/config/":/mosquitto/config/` 这个参数包含两部分,用冒号 `:` 分隔: - 冒号前的 `/home/user/deploy/mount/config/` 是宿主机上的目录路径。这是你希望挂载到容器中的宿主机文件系统中的目录。 - 冒号后的 `/mosquitto/config/` 是容器内部的目标路径。这表示宿主机上的 `/home/user/deploy/mount/config/` 目录将被挂载到容器内的 `/mosquitto/config/` 目录下。 挂载后,容器内的 `/mosquitto/config/` 目录与宿主机上的 `/home/user/deploy/mount/config/` 目录建立了映射关系,对其中一个目录的修改会反映到另一个目录上。 ### 使用场景 - **配置文件管理**:在使用 Mosquitto(一个开源的 MQTT 消息代理)时,通常需要为其提供配置文件。通过挂载宿主机的配置目录到容器内的配置目录,可以方便地在宿主机上修改配置文件,而不需要进入容器内部进行操作。例如,当需要调整 Mosquitto 的认证、监听端口等配置时,直接在宿主机上修改 `/home/user/deploy/mount/config/` 目录下的配置文件,容器内的 Mosquitto 服务会立即使用新的配置。 - **数据持久化**:如果 Mosquitto 服务需要存储一些重要的数据,如日志文件或消息队列数据,可以将宿主机的目录挂载到容器内的数据存储目录。这样,即使容器被删除或重新创建,数据仍然保存在宿主机上,不会丢失。 - **开发和调试**:在开发过程中,开发者可能需要频繁修改 Mosquitto 的配置或代码。通过挂载宿主机的开发目录到容器内,可以实时看到修改后的效果,而无需重新构建容器。 以下是一个使用 `-v` 参数挂载目录的 Docker 命令示例: ```bash docker run -v "/home/user/deploy/mount/config/":/mosquitto/config/ -d eclipse-mosquitto ``` 这个命令将启动一个 Mosquitto 容器,并将宿主机的 `/home/user/deploy/mount/config/` 目录挂载到容器内的 `/mosquitto/config/` 目录。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值