马大头 2020-01-09 17:32 采纳率: 0%
浏览 304

Docker Swarm使用secret管理密码后, Create Service时容器无法启动,并且报错

创建一个简单的secret:  
echo "admin123" | docker secret create my-pw2 -    


创建Service的命令:
docker service create --name client --secret my-pw busybox sh -c "while true; do sleep 3600; done"



inspect查看容器详情错误内容如下: 

图片说明

与这位老铁描述的情况一模一样,但是他貌似还没有解决
https://stackoverflow.com/questions/59539259/docker-container-starting-failed-if-it-has-docker-secrets#
  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-07-26 17:17
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    要解决这个问题,首先确保您已经正确安装了Docker和Docker Compose,并且正在使用正确的镜像。然后,请按照以下步骤操作:

    1. 创建并挂载Secret
    # 创建一个名为my-secret的Secret
    docker secret create my-secret
    
    # 挂载Secret到您的服务
    docker service attach --secret=my-secret
    
    1. docker-compose.yml文件中添加额外的配置以指定Secret路径
    version: '3'
    
    services:
      web:
        build: .
        ports:
          - "8080:80"
        secrets:
          - my-secret
        environment:
          SECRET_PATH: "/etc/secrets"
    
    1. 使用新的docker-compose.yml文件重新构建和运行服务
    docker-compose up -d
    

    现在,您的服务应该能够正常运行。

    注意:如果仍然遇到问题,请检查您的系统环境是否正确设置,或者尝试使用不同的秘钥类型(例如,docker secret create my-secret -type=plain)。此外,确保您的服务在运行时可以访问秘钥存储位置,因为可能需要一些时间来完成密钥的同步过程。

    希望这能帮助您解决问题!如果您有任何疑问或需要进一步的帮助,请随时提问。

    评论

报告相同问题?

悬赏问题

  • ¥15 angular项目错误
  • ¥20 需要帮我远程操控一下,运行一下我的那个代码,我觉得我无能为力了
  • ¥20 有偿:在ubuntu上安装arduino以及其常用库文件。
  • ¥15 请问用arcgis处理一些数据和图形,通常里面有一个根据点划泰森多边形的命令,直接划的弊端是只能执行一个完整的边界,但是我们有时候会用到需要在有很多边界内利用点来执行划泰森多边形的命令
  • ¥30 在wave2foam中执行setWaveField时遇到了如下的浮点异常问题,请问该如何解决呢?
  • ¥750 关于一道数论方面的问题,求解答!(关键词-数学方法)
  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件