首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >创建后立即“没有此类文件或目录”。

创建后立即“没有此类文件或目录”。
EN

Stack Overflow用户
提问于 2020-01-26 00:18:37
回答 2查看 4K关注 0票数 0

一些背景..。

我正试图为一个幽灵博客建立一个码头形象。我只是添加了一个模块:存储适配器,这样图像可以托管在S3上,而不是本地文件系统(默认设置)上。

存储适配器插件的自述文件中,安装说明是将模块复制到应用程序的工作目录中:

代码语言:javascript
运行
AI代码解释
复制
npm install ghost-storage-adapter-s3
mkdir -p ./content/adapters/storage
cp -r ./node_modules/ghost-storage-adapter-s3 ./content/adapters/storage/s3

但是只有在容器的中才起作用。我希望在Docker构建中运行这些步骤,这样如果容器重新启动,就不会丢失这些更改。

问题

在我的Dockerfile中,我有:

代码语言:javascript
运行
AI代码解释
复制
FROM ghost:3
RUN npm install ghost-storage-adapter-s3
RUN mkdir -p ./content/adapters/storage
RUN cp -r ./node_modules/ghost-storage-adapter-s3/ ./content/adapters/storage/s3

然后抛出这个错误:cp: cannot create directory './content/adapters/storage/s3': No such file or directory

当我后退一步,尝试一次创建一个目录并验证它是否已经创建时,即

代码语言:javascript
运行
AI代码解释
复制
RUN ls ./content
RUN mkdir ./content/adapters
RUN ls ./content/adapters

我知道这个错误:

代码语言:javascript
运行
AI代码解释
复制
Step 8/10 : RUN ls ./content/adapters
 ---> Running in c55848f39bb4
ls: cannot access './content/adapters': No such file or directory
The command '/bin/sh -c ls ./content/adapters' returned a non-zero code: 2

在我刚刚创建了目录之后,怎么可能会有“没有这样的目录”呢?

我尝试在创建文件夹mkdir -m 777 ./content/adapters时设置chmod权限,并将所有者更新为当前用户(root):RUN chown -R root ./content,但没有效果。

我至少可以通过更改./目录前缀来构建它,但这就将/content放在了应用程序根目录中,而这并不是它们所需要的。当我指定完整路径/var/lib/ghost/content/adapters/storage时,我会得到相同的错误。这似乎是一个许可的问题,但我不知道。

任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2020-01-26 03:20:17

这是其安装目录的基本映像宣布一卷的典型症状。您不能创建在该目录、插件或其他目录中有任何附加内容的派生映像。

如果不尝试重复地执行此操作,则可以启动带有本地存储的映像副本,只运行一次安装,然后实际使用填充的数据目录。

代码语言:javascript
运行
AI代码解释
复制
docker run --rm -it -v $PWD/ghost:/var/lib/ghost/content ghost:3 bash
npm install ghost-storage-adapter-s3
mkdir -p ./content/adapters/storage
cp -r ./node_modules/ghost-storage-adapter-s3/ ./content/adapters/storage/s3
exit

docker run -d -p 2368:2368 -v $PWD/ghost:/var/lib/ghost/content ghost:3

如果您想重复这样做(如他们的回答中的@Wonkledge注释),您可以在任何卷都附加到容器之后,在启动时使用entrypoint脚本复制它。请注意,图像已经声明了自己的入口点,所以您需要包装它。您的Dockerfile可能看起来像

代码语言:javascript
运行
AI代码解释
复制
FROM ghost:3
RUN npm install ghost-storage-adapter-s3
COPY entrypoint-wrapper.sh /usr/local/bin
ENTRYPOINT ["entrypoint-wrapper.sh"]

和包装脚本

代码语言:javascript
运行
AI代码解释
复制
#!/bin/sh
mkdir -p ./content/adapters/storage
cp -r ./node_modules/ghost-storage-adapter-s3/ ./content/adapters/storage/s3
exec docker-entrypoint.sh "$@"

请注意,影响content目录树的这两行是如何从Dockerfile内部移动到容器启动后。

(如果图像声明了卷,那么Docker每次创建容器时都会在该目录上挂载卷,无论是否有docker run -v选项。在Dockerfile期间,您将为每个运行行获得一个新的匿名卷,这就是为什么对目录树的更改实际上不会在图像中持久存在。)

票数 2
EN

Stack Overflow用户

发布于 2020-01-26 00:59:26

如果它在您的容器中工作,您可以编写一个脚本bash作为入口点,为您处理这个问题。因此,每次重新启动容器时,都不会丢失更改。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59916656

复制
相关文章
配置Oracle Gateway 12连接到SQL server 2014
最近的工作中需要基于Oracle连接到SQLserver2014,我们可以通过配置Gateway的方式来实现这个功能。这个Gateway的实质是透过dblink来实现的。即把SQLserver模拟成一个远端的Oracle实例,这个实例由Gateway来负责进行接收,转发等等。本文简要描述其配置过程。
Leshami
2018/08/13
2.9K0
配置Oracle Gateway 12连接到SQL server 2014
连接到网络
In order to perform network operations in your application, your manifest must include the following permissions:
acc8226
2022/05/17
5210
windows无法连接到打印机错误为0x000000011b_无法连接到打印机错误0000011b
最近打印机连不上,查了下网上的资料,发现是Windows10的一个更新bug导致,但是按照网上的方法视乎重启后windows会强制更新,还是无法彻底解决问题。于是在继续查找到相关资料,现在将解决方法记录下来。
全栈程序员站长
2022/09/30
3.6K0
windows无法连接到打印机错误为0x000000011b_无法连接到打印机错误0000011b
MariaDB 连接查询
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一,该笔记用于生产环境快速查阅.
王瑞MVP
2022/12/28
4.4K0
MariaDB 连接查询
MariaDB 建立连接
上面给出的代码连接到MariaDB并提供一个命令提示符来执行SQL命令。 输入代码后,将显示一条欢迎消息,指示连接成功,并显示版本号。
用户9042463
2021/09/29
1.7K0
LoRa连接到chirpstack
LoRa服务器有很多,今天聊聊ChirpStack,ChirpStack(https://www.chirpstack.io/)是一个开放源代码的的网络服务器,提供了丰富了应用API,用户可以部署在自己的服务器上,可以商用。
ManInRoad
2021/01/08
1.9K0
FileZilla 错误:Server unexpectedly closed network connection 无法连接到服务器
有些linux系统比较老(比如sles11sp3),新版的filezilla client版本比较高(实际是FileZilla FTP Client里的fzputtygen.exe和fzsftp.exe版本比较高)导致CipherSuite密码套件不兼容而出现下图报错,详情见filezilla官网bug说明(这个说明是我定位清楚问题后才意外搜到的,要是早点搜到也不必花好几个小时去排障了)
Windows技术交流
2019/12/23
11.1K0
LoRa连接到The Things Network
前言:LoRaWAN Server是LoRaWAN网络中连接网关和云平台的协议处理器,提供终端节点接入鉴权、网关接入控制、LoRaWAN协议解析、数据传输、数据加解密、数据格式转换等功能。在整个LoRaWAN网络中有着非常重要的作用。本文聊聊如何LoRa如何连接到The Things Network。
ManInRoad
2020/12/22
2.2K0
LoRa连接到The Things Network
使用putty连接到Linux
下载链接:https://www.chiark.greenend.org.uk/~sgtatham/putty/
姚远OracleACE
2023/04/06
2.8K0
使用putty连接到Linux
通过VPN连接到VPC
默认情况下,云上创建vpc中的cvm等资源无法直接和云下IDC直接进行通信。如有此类需求的场景,可通过以下几种方式进行联通【VPN、专线】。
pinkcchen
2020/10/27
7.3K0
通过VPN连接到VPC
解决SSH连接到主机端口22时出现"No route to host"错误的有效方法
在使用SSH连接到主机的过程中,有时候可能会遇到"No route to host"的错误提示。这个问题可能是由于网络连接故障、主机防火墙设置问题或者其他原因导致的。本文将参考以下文章:https://www.howtouselinux.com/post/ssh-connect-to-host-port-22-no-route-to-host,详细介绍多种解决"No route to host"错误的方法,并且通过实际例子展示这些方法的有效性。
用户10665603
2023/07/25
13.3K0
Nextcloud -4- 连接 MariaDB
Nextcloud 可以连接本地数据库,对于系统维护有很多好处,本文记录 nextcloud 连接mariadb数据库的方法。 操作流程 mariadb 开源高效,我们尝试使用 mariadb 作为数据库 创建数据库容器 使用命令创建容器 docker run -it -d --name nextcloud_db -e MYSQL_ROOT_PASSWORD=<YOUR_PASSWORD> -p 3306:3306 --restart=always mariadb 4047 InnoDB 错误
为为为什么
2022/08/06
1.2K0
Nextcloud -4- 连接 MariaDB
Windows 8连接*** 691错误解决办法
最近微软发布了Windows 8 RTM版,很多朋友也安装了,我当然也不例外。这几天就有不少朋友问我***连接无论怎么都说密码错误不能验证,于是,便连接***进行了下测试,如下:
李珣
2019/03/14
5670
树莓派连接到WiFi并用ssh连接
硬件:树莓派zero w;系统:2019-09-26-raspbian-buster-lite;
全栈程序员站长
2022/09/01
1.5K0
w ndows无法连接到System,电脑无法连接到System Event Notification Service服务[通俗易懂]
大家好,又见面了,我是你们的朋友全栈君。 很多用户表示,在使用电脑的时候,电脑右下角任务栏提示“未能连接一个Windows服务,Windows无法连接到System Event Notificatio
全栈程序员站长
2022/08/27
4.1K0
w ndows无法连接到System,电脑无法连接到System Event Notification Service服务[通俗易懂]
错误的产品尺码数据分析会导致库存灾难
服饰零售企业向工厂、批发商、品牌商订货的时候,每个款式必须要具体到尺码。和我们自己买衣服一样,零售商批量下单也讲究尺码合适。
wujunmin
2021/09/07
4240
错误的产品尺码数据分析会导致库存灾难
JIRA 如何连接到云平台的 bitbucket
如果你都使用的是云平台,那么还比较好配置,如果 JIRA 你使用的是自定义部署的产品,但是 bitbucket 使用的是云平台,那么你这里需要使用 OAuth 来进行配置。
HoneyMoose
2021/08/07
8590
点击加载更多

相似问题

UI不会在状态更改时更新

116

当数据源被更改时,角手风琴不会更新UI

11

当条目值更改时更新UI

25

当mutableStateOf更改时,UI不会更新

11

当DB更改时,UI不会更新。

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文