我在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图像吗?
1条答案
按热度按时间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