![执行关键的“RUN apt-get...”命令时,Dockerfile 中除“USER root”之外的其他用户](https://linux22.com/image/219305/%E6%89%A7%E8%A1%8C%E5%85%B3%E9%94%AE%E7%9A%84%E2%80%9CRUN%20apt-get...%E2%80%9D%E5%91%BD%E4%BB%A4%E6%97%B6%EF%BC%8CDockerfile%20%E4%B8%AD%E9%99%A4%E2%80%9CUSER%20root%E2%80%9D%E4%B9%8B%E5%A4%96%E7%9A%84%E5%85%B6%E4%BB%96%E7%94%A8%E6%88%B7.png)
我最近经历了一次群发电子邮件攻击,有人“嗅探”了我的电子邮件并将其用作“发件人:[电子邮件受保护]“在大规模攻击中。
我相信我的电子邮件信息被嗅探是因为我启用了 IMAP、使用了 SSL 而不是 TLS 等。但我也对我的 dockerfile 中的 root 用户感到懒惰。
我是一名数据工程师,而不是 Linux 专业人士。我正在共享一个 dockerfile,它是在运行构建命令后从 apache-airflow 扩展的。你能帮我做一些除了下面“USER root”以外的事情吗?我怎样才能让一切都只是“myuser”?
FROM apache/airflow:latest
COPY --chown=myuser:root requirements.txt /
USER root
RUN apt-get update
RUN apt-get install -y --no-install-recommends vim
RUN apt-get install libmysqlclient-dev
RUN apt-get autoremove -yqq --purge
RUN apt-get clean
RUN rm -rf /var/lib/apt/lists/*
USER myuser
ENV PYTHONPATH=/usr/local/bin/python:...
RUN export PATH=$PATH:$PYTHONPATH
RUN pip install --upgrade pip
RUN pip install --no-cache-dir -r /requirements.txt
我尝试删除 chown 并以“USER myuser”而不是 root 启动,但在尝试运行第一个“RUN apt-get...”命令时出现权限被拒绝错误。