我试图设置我的家庭服务器(Ubuntu18.04LTS)使用一些码头容器和码头组成。在尝试设置“transmission”时,我得到以下错误:
/usr/local/lib/ruby/2.6.0/psych.rb:577:in `initialize': Is a directory @ io_fillbuf - fd:5 /etc/transmission-rss.conf (Errno::EISDIR)当我去检查是否已经创建了transmission-rss.conf文件时,一个同名的目录已经被创建了。
我必须使用docker-compose up运行sudo命令,所以我不知道这是否与权限有关。
下面是我当前的docker-compose.yml文件:
version: '3'
services:
portainer:
container_name: portainer
image: portainer/portainer
volumes:
- '/home/miguel/docker/portainer/data/:/data'
- '/home/miguel/docker/portainer/socket/:/var/run/docker.sock'
ports:
- "9000:9000"
restart: always
transmission-rss:
container_name: transmission-rss
image: nning2/transmission-rss:latest
volumes:
- '/home/miguel/docker/transmission-rss/transmission-rss.conf/:/etc/transmission-rss.conf/'
restart: unless-stoppedportainer容器很好地启动。
非常感谢你,米格尔
发布于 2020-11-13 13:09:45
确保文件在双方(主机和容器内部)中都存在。
如果其中一个不存在,那么docker 将创建一个目录而不是一个文件
发布于 2019-09-11 07:11:32
- '/home/miguel/docker/transmission-rss/transmission-rss.conf/:/etc/transmission-rss.conf/'
请删除尾随斜杠(有2x!)并确保transmission-rss.conf是一个文件,而不是主机源上的dir。
稍微全面一点:
sudo与docker - https://docs.docker.com/install/linux/linux-postinstall:https://docs.docker.com/install/linux/linux-postinstall一起使用(这不是问题的原因,但必须使用sudo对每个命令进行前缀,基本上只需要将用户添加到停靠组中,这是很烦人的)。docker-compose.yml,从transmission-rss.conf的源和目标中删除尾随斜杠。docker volume ls + docker volume rm volume_name)。docker-compose命令的机器)上,确保文件存在,并且不是是一个目录。docker-compose downdocker-compose builddocker-compose uphttps://stackoverflow.com/questions/57877600
复制相似问题