如何添加具有Dockerfile的用户 - 以下操作无效.
USER vault
WORKDIR /usr/local/bin/vault
我的完整Dockerfile:
FROM alpine:3.4
RUN apk update && apk add curl unzip
RUN useradd -ms /bin/bash vault
USER vault
WORKDIR /usr/local/bin/vault
ADD /vault.hcl /etc/vault/vault.hcl
RUN curl -SL https://releases.hashicorp.com/vault/0.5.0/vault_0.5.0_linux_amd64.zip > vault.zip
RUN unzip vault.zip -d /usr/local/bin && rm vault.zip
在安装软件包时,我可以以某种方式禁用PIP警告吗?在pip使用中我没有找到这样的选项!我正在尝试使用python脚本(2.7.8)安装软件包并检查它是否成功:
p = subprocess.Popen(
    'pip install requests',
    shell=True,
    executable='/bin/bash',
    stdout=subprocess.PIPE,
    stderr=subprocess.PIPE
)
out, err = p.communicate()
if err:
    sys.stdout.write('Error occured while executing: %s' % err)
我从PIP收到警告:
您正在使用pip版本7.1.2,但版本8.1.1可用.
您应该考虑通过'pip install --upgrade pip'命令进行升级.
我不允许升级PIP,我需要使用这个.
我是 Docker 新手,正在学习它,我的问题是我是否必须在 Docker 中使用 venv 还是它不重要?因为我无法在 docker 中配置 venv,所以它给了我一个错误,比如无法导入 Django activate venv...,我读了一些答案但无法得到答案,有些人说需要使用 venv 其他人不重要。
我的 DOcker 文件
FROM python:3.8
#set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
RUN python3 -m venv venv
#Set work directory
WORKDIR /code/
#Install dependencies
COPY requirements.txt .
RUN . /venv/bin/activate && pip install -r requirements.txt
COPY . /code/
如果我不使用 venv Docker 运行良好,但是当涉及到安装包时,它会给我警告,比如WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It …