簡體   English   中英

如何使用 micromamba 圖像在 Gitlab CI 管道中使用 apt-get 安裝 package

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM