[問題] 如何取得dockerfile的log

看板Linux作者 (薇薇安安)時間1年前 (2022/06/29 00:40), 編輯推噓6(8226)
留言36則, 9人參與, 1年前最新討論串1/1
各位好 本人想透過一個 dockerfile (builder.Dockerfile) 創建一個docker image 然而卻在dockerfile的某一個步驟卡關,過了很長的時間仍毫無進展,如下圖: https://ibb.co/pxjHgxC 這個步驟包含非常多指令: RUN --mount=type=cache,target=/var/cache/apt,sharing=private --mount=type=cache,target=/var/lib/apt,sharing=private \ apt update && DEBIAN_FRONTEND=noninteractive apt install -qy gcc make pkg-config curl libclang1-6.0 doxygen libi2c-dev git cmake libpcre3-dev bison graphviz libcmocka-dev valgrind quilt libcurl4-gnutls-dev swig debhelper devscripts libpam-dev autoconf-archive libssl-dev dbus libffi-dev build-essential 請有沒有辦法透過完整的log來檢查是哪個指令出錯? 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 168.127.214.203 (美國) ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1656434403.A.DB7.html

06/29 00:50, 1年前 , 1F
cmd拆開來執行看斷在哪裡。docker build 有報錯嗎?
06/29 00:50, 1F

06/29 00:53, 1年前 , 2F
沒有報錯,就一直停在這個步驟。
06/29 00:53, 2F

06/29 00:57, 1年前 , 3F
你說的拆cmd是把這整個command斷開,一個個試嗎?
06/29 00:57, 3F

06/29 01:14, 1年前 , 4F
06/29 01:14, 4F

06/29 01:14, 1年前 , 5F
不見得要拆得很碎 相依的前後分一下就好
06/29 01:14, 5F

06/29 01:20, 1年前 , 6F
還是想問一下,有沒有直接看log的方法,因為command非
06/29 01:20, 6F

06/29 01:21, 1年前 , 7F
常多,這是一個複雜的系統
06/29 01:21, 7F

06/29 01:49, 1年前 , 8F
我猜把 mount 拿掉就好了 也不影響
06/29 01:49, 8F

06/29 03:13, 1年前 , 9F
目前的測試顯示,只要走到apt install那邊就會卡住,
06/29 03:13, 9F

06/29 03:13, 1年前 , 10F
不管install的是什麼。 真的需要log了
06/29 03:13, 10F

06/29 03:44, 1年前 , 11F
紅明顯,先把-q拔掉
06/29 03:44, 11F

06/29 05:04, 1年前 , 12F
樓上我試過了,還是卡住
06/29 05:04, 12F

06/29 08:08, 1年前 , 13F
-q才有log
06/29 08:08, 13F

06/29 08:08, 1年前 , 14F
-q去掉才有log 打錯
06/29 08:08, 14F

06/29 08:10, 1年前 , 15F
你是用離線的方式apt install? 連不到外網是嗎?
06/29 08:10, 15F

06/29 08:15, 1年前 , 16F
同意fuyu 先把mount都去掉
06/29 08:15, 16F

06/29 08:28, 1年前 , 17F
然後你斷行在哪 指令這麼長你只有一個\ 是只有寫兩行嗎
06/29 08:28, 17F

06/29 08:28, 1年前 , 18F
06/29 08:28, 18F

06/29 08:46, 1年前 , 19F
哪有人要抓錯還設定 apt -q 參數...
06/29 08:46, 19F

06/29 08:46, 1年前 , 20F
甚至連 apt 都應該換成 apt-get...
06/29 08:46, 20F

06/29 08:46, 1年前 , 21F
原因有在看 log 就應該要知道了
06/29 08:46, 21F

06/29 15:58, 1年前 , 22F
把-q去掉仍是卡,沒有錯誤訊息
06/29 15:58, 22F

06/29 16:58, 1年前 , 23F
我是覺得,在公司內,有mentor就去煩,不是找免費外包…
06/29 16:58, 23F

06/29 22:10, 1年前 , 24F
如果-q去掉還沒有log 表示你在前面就出錯了阿
06/29 22:10, 24F

06/29 22:12, 1年前 , 25F
你應該mount那邊就死了 連apt update都沒log
06/29 22:12, 25F

06/30 01:50, 1年前 , 26F
我把mount都去掉還是不行,怪怪的
06/30 01:50, 26F

06/30 08:08, 1年前 , 27F
可能你換行之類有寫錯 自己檢查吧
06/30 08:08, 27F

06/30 08:15, 1年前 , 28F
apt update不可能沒log 大概換行之類錯根本沒執行
06/30 08:15, 28F

06/30 08:19, 1年前 , 29F
我覺得可以先不用 docker build,先在 base image 跑
06/30 08:19, 29F

06/30 08:19, 1年前 , 30F
這些指令就好,這樣抓錯比較快
06/30 08:19, 30F

06/30 10:48, 1年前 , 31F
你要不要一步一步執行? 到 cli 複製貼上檢查指令
06/30 10:48, 31F

06/30 10:49, 1年前 , 32F
或是移除掉機敏指令, 把 dockerfile 丟出來
06/30 10:49, 32F

06/30 10:59, 1年前 , 33F
目前至少看到兩個錯誤
06/30 10:59, 33F

06/30 10:59, 1年前 , 34F
1. --mount type=cache
06/30 10:59, 34F

06/30 11:00, 1年前 , 35F
2. 指令之間是 && \, 不是只有 \, 只有 \ 是同指令
06/30 11:00, 35F

06/30 11:02, 1年前 , 36F
mount 那行應該是我弄錯了
06/30 11:02, 36F
文章代碼(AID): #1YkoxZst (Linux)