我想在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