前言
- 今天 build image 剛好發現
apt-get update
速度極慢,下載只有 4 kB/s
~ 10 kB/s
,切換了國內 repo 就沒問題了,剛好記錄一下修改動作。
說明
更換 debian repo source (Workflow)
今天發現是從 http://deb.debian.org/debian
下載速度非常緩慢,打算覆蓋掉 repo 的 URL。
因為是 image,所以可以不用備份;如果是 VM,就先備份:
(vm 先備份)
1
2
3
|
cd /etc/apt/sources.list.d/
cp debian.sources debian.sources.bkp
cd -
|
(image 可以直接覆蓋)
1
2
3
4
5
6
7
|
cat <<EOF >/etc/apt/sources.list.d/debian.sources
Types: deb
URIs: http://ftp.tku.edu.tw/debian
Suites: bookworm bookworm-updates
Components: main
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
EOF
|
Note
- mirror list 取自 REF [1]
- 選用淡江的是因為在 list 中只有這個是 HTTP,不是 HTTPS;有些 image 太輕量會認不得 CA;HTTP 比較簡便。
後來又把這段新增了 timeout
加進目前的 Github workflow,短期內就可以先不用管這件事:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
# ...
- name: setup
run: |
if ! timeout 100 apt-get update ; then
cat <<EOF >/etc/apt/sources.list.d/debian.sources
Types: deb
URIs: http://ftp.tku.edu.tw/debian
Suites: bookworm bookworm-updates
Components: main
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
EOF
apt-get update
fi
|
調整 Dockerfile
如果你也剛好撞到這件事,
想直接調整 Dockerfile multi-stage 的 builder 中 repo 設定,
可以用 COPY
直接蓋掉:
1
2
3
4
5
6
7
|
COPY <<EOF /etc/apt/sources.list.d/debian.sources
Types: deb
URIs: http://ftp.tku.edu.tw/debian
Suites: bookworm bookworm-updates
Components: main
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
EOF
|
Note
- Dockerfile 配合 heredoc 參考 [2]
REF
- https://www.debian.org/mirror/list
- https://stackoverflow.com/questions/77191591/dockerfile-run-command-cannot-use-heredoc-with-build-args