我想在Docker容器中运行.exe文件。以下是源代码的链接。如何获取Docker镜像以运行可执行文件
混帐:https://github.com/jcreynolds/NodeLink 枢纽:https://hub.docker.com/r/jcreynolds/nodelink/
泊坞窗容器但出现建它不会运行。任何帮助,将不胜感激。
编辑#1:这是用在unraid
编辑#2:添加unraid泊坞窗日志
Jul 14 12:50:41 BennySRV php: /usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker 'start' 'NodeLink'
Jul 14 12:50:41 BennySRV kernel: device veth8fb01c8 entered promiscuous mode
Jul 14 12:50:41 BennySRV kernel: docker0: port 10(veth8fb01c8) entered forwarding state
Jul 14 12:50:41 BennySRV kernel: docker0: port 10(veth8fb01c8) entered forwarding state
Jul 14 12:50:41 BennySRV avahi-daemon[2619]: Withdrawing workstation service for veth958915c.
Jul 14 12:50:41 BennySRV kernel: docker0: port 10(veth8fb01c8) entered disabled state
Jul 14 12:50:41 BennySRV kernel: eth0: renamed from veth958915c
Jul 14 12:50:41 BennySRV kernel: docker0: port 10(veth8fb01c8) entered forwarding state
Jul 14 12:50:41 BennySRV kernel: docker0: port 10(veth8fb01c8) entered forwarding state
Jul 14 12:50:41 BennySRV kernel: veth958915c: renamed from eth0
Jul 14 12:50:41 BennySRV kernel: docker0: port 10(veth8fb01c8) entered disabled state
Jul 14 12:50:41 BennySRV kernel: docker0: port 10(veth8fb01c8) entered disabled state
Jul 14 12:50:41 BennySRV avahi-daemon[2619]: Withdrawing workstation service for veth958915c.
Jul 14 12:50:41 BennySRV avahi-daemon[2619]: Withdrawing workstation service for veth8fb01c8.
Jul 14 12:50:41 BennySRV kernel: device veth8fb01c8 left promiscuous mode
Jul 14 12:50:41 BennySRV kernel: docker0: port 10(veth8fb01c8) entered disabled state
编辑#3:解决了!问题出在码头运行命令 (不同之处在于-i)有没有人知道我在做什么?
运行命令的工作原理:
docker run --name=NodeLink --net="bridge" -i -e TZ="America/Chicago" -v "/mnt/user/Config/NodeLink":"/config":rw -p 8090:8090/tcp -d jcreynolds/nodelink
运行命令,它试图用:
docker run -d --name="NodeLink" --net="bridge" -e TZ="America/Chicago" -p 8090:8090/tcp -v "/mnt/user/Config/NodeLink":"/config":rw jcreynolds/nodelink
编辑:
泊坞窗文件代码:问题添加的代码:
FROM ubuntu:latest
#...
# Adding Custom files
##################
COPY startup.sh /tmp/startup.sh
RUN chmod -v +x /tmp/startup.sh && sleep 1 && /tmp/startup.sh && rm /tmp/startup.sh
CMD ["/NodeLink/NodeLink.exe"]
startup.sh文件:
#!/bin/bash
if [ ! -e "/NodeLink/NodeLink.exe" ]; then
cd /NodeLink
wget http://automationshack.com/Files/NodeLink.exe
fi
mono /NodeLink/NodeLink.exe &
/bin/bash
有没有发出任何错误/警告当你尝试容器?任何有助于提供线索的原因是为什么它不能按预期运行? – Castaglia
docker文件使用CMD或ENTRYPOINT来指定要运行的服务。为什么你另外运行一个startup.sh之前?你的exe文件也是一个服务,或者是执行某些东西然后终止的东西? – TehSphinX
@TechSpinX额外的RUN是我最后一次努力的结果。我是创建码头应用程序的新手。 .exe是一个运行web gui的服务,默认情况下它的端口是8090. – jcreynodls