python 如何使用micromamba映像在Gitlab CI pipeline中使用apt-get安装包

zxlwwiss  于 2022-12-28  发布在  Python
关注(0)|答案(1)|浏览(309)

我在Gitlab CI管道中使用micromamba映像,我需要用apt-get(libgl 1-mesa-glx)安装一个额外的包。
对于微型摄像机图像,这是可行的:

image: continuumio/miniconda3:latest

before_script:
  - apt-get update && apt-get install -y libgl1-mesa-glx

对于微曼巴,它不再起作用了:

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图像吗?

pgvzfuti

pgvzfuti1#

这是因为运行命令的用户是root或非sudo用户。在第一个repo中,用户自动具有root权限。这就是为什么您可以运行需要sudo权限的命令。
官方Dockerhub页面对此进行了解释:
更改用户ID或名称默认用户名存储在环境变量MAMBA_USER中,当前为mambauser。(2022年1月13日之前为micromamba,2021年6月30日之前为root。)Micromamba-docker可以使用任何UID/GID运行,方法是将docker run...命令传递给--user=UID:GID参数,支持--user=root运行....
请看这个page的“修改用户名”部分。这个问题有几种解决方法,可能会有帮助;
https://gitlab.com/gitlab-org/gitlab-runner/-/issues/248/designs

相关问题