1Panel icon indicating copy to clipboard operation
1Panel copied to clipboard

[FEATURE] 关于docker的优化和需求

Open Zightch opened this issue 2 years ago • 3 comments

1Panel 版本

1.9.6

请描述您的需求或者改进建议

本建议一共有3点:

  1. 在docker容器中的Command选项请不要自行为每个参数添加单引号 例如原命令是这样的: echo -e "cd /home\njava -jar server.jar" > start.sh && chmod +x start.sh && ./start.sh 当加上单引号后会变成这样: 'echo' '-e' '"cd' '/home\njava' '-jar' 'server.jar"' '>' 'start.sh' '&&' 'chmod' '+x' 'start.sh' '&&' './start.sh' 这样就破坏了的原有命令, 无法达到预期的效果
  2. 在docker中添加一个默认运行目录选项, 也就是在命令行启动docker时的-w(--workdir)参数 当我在运行openjdk镜像时, 他不会自动cd到home目录下, 而是在根目录下 这也就意味着我需要建议1中这样的命令来实现我想要的效果 加入了这个选项就可以简化建议1中的Command, 只需要写java -jar server.jar即可
  3. 我似乎没有找到docker exec方式进入交互式控制台的方式 在Minecraft Server中这个会非常有用, 因为他需要到交互式控制台中执行一些命令 希望能把他加上

请描述你建议的实现方案

No response

附加信息

关于建议1的相关截图:

image
image

Zightch avatar Feb 07 '24 10:02 Zightch

感谢反馈

  1. 可以尝试直接输入 'echo -e "cd /home\njava -jar server.jar" > start.sh && chmod +x start.sh && ./start.sh' 看看是否正常;
  2. 后续版本增加该选项;
  3. 可以通过 容器列表 - 终端 进入交互式控制台。

ssongliu avatar Feb 07 '24 10:02 ssongliu

关于1:

尝试执行'echo -e "cd /home\njava -jar server.jar" > start.sh && chmod +x start.sh && ./start.sh'时出现报错 image
信息如下

服务内部错误: update successful but start failed, err: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "echo -e \"cd /home\\njava -jar server.jar\" > start.sh && chmod +x start.sh && ./start.sh": stat echo -e "cd /home\njava -jar server.jar" > start.sh && chmod +x start.sh && ./start.sh: no such file or directory: unknown

关于3:

由于1的问题没有修复, 我无法直接使用MC Server直接测试3
我先使用幻兽帕鲁来测试:
当我打开容器列表 - 终端时, 他是直接进入到了一个新的终端, 而不是帕鲁服务器的控制台界面
image
日志在这里:
image
当然, 我无法在日志窗口输入我的指令
我猜测如果沿用到MC Server也会出现类似问题
f84844d06b9aef3158652a4552a12de7

Zightch avatar Feb 07 '24 10:02 Zightch

关于3的补充

通过我的查询, docker api的exec是创建一个新终端
也就是说你们可能还没有做docker api的attach接口
对,应该是这个attach接口,他会默认捕获容器中PID为1的进程也就是docker run后面的命令
这个功能对于MC Server是很有帮助的
因为MC Server既要输出也要输入
正如上图所示

请描述你建议的实现方案

image
image
或者你们可以自己来决定更好的实现方案

Zightch avatar Feb 07 '24 13:02 Zightch