我正在嘗試使用 docker 來運行 kdb/q。但我收到“沒有這樣的檔案或目錄”錯誤
Dockerfile:
FROM ubuntu
COPY ./ /root_dir/
WORKDIR root_dir
ENV QHOME=/root_dir/bin/q
RUN ["chmod", " x", "/root_dir/bin/q/l32/q"]
CMD ["/bin/bash"]
我正在打開一個 bash 命令提示符,以便查看它,但最終這將直接使用 q 命令運行
檔案布局:
- root_dir
- bin
- q
- q.k
- s.k
- l32
- q
建造:
sudo docker build -t dfile -f Dockerfile .
跑:
sudo docker run -it dfile
給我一個 bash 命令提示符,并嘗試啟動 q:
root@5e4b86578916:/root_dir# /root_dir/bin/q/l32/q
給
bash: /root_dir/bin/q/l32/q: 沒有這樣的檔案或目錄
但是我可以在那里看到它:
root@5e4b86578916:/root_dir# ls /root_dir/bin/q/l32/
q
如何從這里啟動 q/any 可執行檔案?
注意:我在 Ubuntu 上使用相同的命令在本地運行 q,如果我使用 export 將 QHOME 設定為相同的(本地)位置,那么給出我進入有效 q 會話的可執行檔案的完整路徑
uj5u.com熱心網友回復:
似乎需要libc6-i386才能運行(64位/32位轉換)
FROM ubuntu
COPY ./ /root_dir/
WORKDIR root_dir
RUN apt-get update && apt-get install libc6-i386
ENV QHOME=/root_dir/bin/q
RUN chmod x /root_dir/bin/q/l32/q
CMD /root_dir/bin/q/l32/q
現在按預期作業。我能找到的唯一檔案不是很有啟發性https://packages.ubuntu.com/focal/libc6-i386
uj5u.com熱心網友回復:
有關如何在 64 位 linux 上運行 32 位 kdb 的資訊,請參閱kdb 安裝說明。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/421310.html
標籤:
上一篇:百度圖片下載器2.0
