[英]How to install package with apt-get in Gitlab CI pipeline using micromamba image
我在 Gitlab CI 管道中使用micromamba圖像。 我需要使用 apt-get (libgl1-mesa-glx) 安裝額外的 package。
使用 miniconda 圖像,這是有效的:
image: continuumio/miniconda3:latest
before_script:
- apt-get update && apt-get install -y libgl1-mesa-glx
使用 micromamba,它不再起作用:
image: mambaorg/micromamba:1.1.0-bullseye
before_script:
- apt-get update && apt-get install -y libgl1-mesa-glx
結果是
Reading package lists...
E: List directory /var/lib/apt/lists/partial is missing. - Acquire (13: Permission denied)
這可能嗎? 或者我是否需要生成自定義 docker 圖像?
這是因為您運行命令的用戶是根用戶或非 sudo 用戶。 在第一個 repo 中,用戶自動擁有 root 權限。 這就是為什么您可以運行需要 sudo 權限的命令。
這在官方 Dockerhub 頁面上有解釋:
更改用戶 ID 或名稱 默認用戶名存儲在環境變量 MAMBA_USER 中,當前為 mambauser。 (在 2022-01-13 之前是 micromamba,在 2021-06-30 之前是 root。)Micromamba-docker 可以通過傳遞 docker run... 命令 --user=UID 以任何 UID/GID 運行: GID 參數。 支持使用 --user=root 運行....
請查看本頁的“更改用戶 ID 或名稱”部分。 這個問題有幾個解決方案,可能會有所幫助;
https://gitlab.com/gitlab-org/gitlab-runner/-/issues/248/designs
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.