gpt4 book ai didi

java - digital ocean : How to run Docker command on newly created Droplet via Java API

转载 作者:太空宇宙 更新时间:2023-11-04 12:00:51 24 4
gpt4 key购买 nike

我正在尝试创建一个新的 Droplet,然后通过 UserData bash 脚本启动 Docker 命令。我在创建 Droplet 时通过 Java API 设置用户数据,并观察我创建的测试文件和日志是否已创建。

newDroplet.setUserData("#!/bin/bash\n" +
"touch /test.txt;"+
"docker login --username=myname--password=mypass > /loginlog;"+
"docker pull mybuild > /pulllog;"+
"docker run --log-opt max-size=1g --net host --name myserver -t -i mybuild > /runlog;");

loginlog 和 pulllog 都显示成功的结果。但是文件运行日志中不存在任何内容。

我可以通过 ssh 进入 Droplet,然后运行完全相同的 docker 命令,它会按预期运行。为什么不能从用户数据脚本运行它?为什么没有生成输出?

最佳答案

问题最终出在 docker run 命令中的 -t 标志。显然这不起作用,因为它不是终端或类似的东西。去掉flag就可以正常运行了。

关于java - digital ocean : How to run Docker command on newly created Droplet via Java API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40924883/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com