全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
查看: 2441|回复: 21
打印 上一主题 下一主题

有懂docker的吗 请教个问题

[复制链接]
跳转到指定楼层
1#
发表于 2023-3-19 10:03:02 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
在openwrt上用docker安装next-terminal

最后结束的时候报错error while creating mount source path '/etc/localtime': mkdir /etc/localtime: file exists

N1盒子上的openwrt
推荐
发表于 2023-3-19 11:27:44 | 只看该作者
这个错误通常出现在使用Docker构建容器时,其中涉及到挂载本地主机上的文件或目录。它表示在创建挂载源路径/etc/localtime时发生了错误,因为该路径已经存在。可能的原因是先前已经进行过类似的挂载操作并且未正确清理挂载点。解决方法是手动删除该路径并重新运行Docker构建命令。可以使用以下命令删除该路径:sudo rm -rf /etc/localtime(请注意,该命令需要管理员权限)。
22#
发表于 2023-3-22 15:13:54 | 只看该作者
执行命令贴出来
21#
发表于 2023-3-22 14:47:48 | 只看该作者
这个错误是由于 Docker 在创建挂载点时遇到了已经存在的文件。在这种情况下,Docker 试图挂载宿主机的 /etc/localtime 文件到容器内,但它已经存在。

为了解决这个问题,您可以尝试以下方法:

方法一:使用 --mount 参数

在 Docker 运行命令中,将 -v /etc/localtime:/etc/localtime:ro 替换为:

bash
Copy code
--mount type=bind,source=/etc/localtime,target=/etc/localtime,readonly
这将使用 --mount 参数来设置挂载点,而不是 -v。

方法二:使用环境变量设置时区

如果您仍然遇到问题,可以考虑不挂载 /etc/localtime 文件,而是使用环境变量设置容器的时区。为此,请删除 -v /etc/localtime:/etc/localtime:ro 参数,并添加以下参数:

diff
Copy code
-e TZ=Asia/Shanghai
请将 Asia/Shanghai 替换为您所在时区的正确值。这将设置容器的时区,而无需挂载 /etc/localtime 文件。

使用这些方法之一,您应该能够在 OpenWrt 上的 N1 盒子中成功部署 Next Terminal。
20#
发表于 2023-3-21 17:05:09 | 只看该作者
已经存在, 干掉
19#
 楼主| 发表于 2023-3-21 16:50:16 | 只看该作者
lnx 发表于 2023-3-21 13:34
这个错误提示是因为 /etc/localtime 这个文件已经存在,并且 Docker 想要把它作为挂载点,但无法创建目录。 ...

感谢解答 删除了那个目录后又报了新的错误 感觉应该是OP系统的某些问题
18#
发表于 2023-3-21 13:54:53 | 只看该作者
beihu 发表于 2023-3-19 12:58
删掉之后又报了新的错误

docker: Error response from daemon: failed to create shim task: OCI runtim ...

service docker restart

不行就reboot
17#
发表于 2023-3-21 13:51:49 | 只看该作者
那就不挂这个目录咯
16#
发表于 2023-3-21 13:34:25 | 只看该作者
这个错误提示是因为 /etc/localtime 这个文件已经存在,并且 Docker 想要把它作为挂载点,但无法创建目录。解决方法如下:

首先确认你的 OpenWrt 系统时区设置是否正确,可以通过命令 date 来查看当前系统时间和时区。

执行以下命令备份原来的 /etc/localtime 文件并删除它:

sudo mv /etc/localtime /etc/localtime.bak
sudo rm /etc/localtime
重新安装 next-terminal:
docker run -d --name=next-terminal -p 3000:3000/tcp -v /etc/localtime:/etc/localtime:ro nwtgck/next-terminal
注意:-v /etc/localtime:/etc/localtime:ro 这个参数表示将主机的 /etc/localtime 文件挂载到容器的相同路径下,并且以只读方式挂载。

最后再次检查时间设置是否正确:
date
希望这些步骤能够帮助您成功安装 next-terminal。
15#
发表于 2023-3-21 13:12:11 | 只看该作者
删除那个容器,重新创建容器
14#
发表于 2023-3-21 12:43:54 来自手机 | 只看该作者
是不是文件,需要变成目录
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2026-1-1 15:05 , Processed in 0.090818 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表