kubernetes 使用nerdctl运行“compose up”时得到错误

ddrv8njm  于 11个月前  发布在  Kubernetes
关注(0)|答案(2)|浏览(139)

当我用nerdctl运行“compose up”时,我得到以下错误。如何解决这个问题?

sudo nerdctl compose up
WARN[0000] Ignoring: service deepstream-peoplenet: [Tty]
WARN[0000] Ignoring: volume: Bind: [CreateHostPath]
WARN[0000] Ignoring: volume: Bind: [CreateHostPath]
WARN[0000] Ignoring: volume: Bind: [CreateHostPath]
INFO[0000] Ensuring image peoplenet-on-deepstream_deepstream-peoplenet
INFO[0000] Creating container deepstream-peoplenet
FATA[0000] name "deepstream-peoplenet" is already used by ID "5d1a1e7b97425da55d1967b5c5a4506596452bd353d097d2f3cf6002e7aba3b5"
FATA[0000] error while creating container deepstream-peoplenet: exit status 1

字符串

bkhjykvo

bkhjykvo1#

发生错误的原因是名称“deepstream-peoplenet”已被ID“5d 1a 1 e7 b 97425 da 55 d1967 b5 c5 a4506596452 bd 353 d 097 d2 f3 cf 6002 e7 aba 3b 5”使用
也许如果你删除这个名字的前一个容器,comand compose up会成功运行。
就像这样:

nerdctl rm deepstream-peoplenet

字符串
我不知道这是否是一个问题,在使用WSL的系统中在docker-compose.yaml中创建卷,如果是我遇到的同样的问题,解决方案是使用卷模式声明
我举个例子:

version: "3"

volumes:
  mysql_data:

services: 
  db:
    image: mysql:5.7
    command: --inodb-use-native-aio=0
    container_name: db
    restart: always
    tty: true
    volumes:
      - type: volume
        target: /var/lib/mysql
        source: mysql_data  
    environment: 
      - MYSQL_DATABASE=nodedb
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_USER=root
    networks:
      - node-network

networks: 
  node-network:
    driver: bridge
enter code here


我在这些链接中找到了解决方案:

rks48beu

rks48beu2#

如果你通过Rancher Desktop使用nerdctl,rdctl shell sudo -i进入shell,sudo nerdctl可以在这个shell中使用。它类似于在lima中拥有超级特权

相关问题