我有一个安装 .NET 5 SDK 的 docker 文件,然后尝试使用dotnet tool install
.
这样做后,我收到警告:
由于您刚刚安装了 .NET SDK,因此在运行您安装的工具之前,您需要注销或重新启动会话。
如何在 docker build 期间注销或重新启动我的会话?
我试过了,RUN echo "export PATH=/new/path:${PATH}" >> /root/.bashrc
但这似乎没有任何区别。
配对示例:
FROM ubuntu as base-updates
RUN apt-get install -y wget
RUN wget https://packages.microsoft.com/config/ubuntu/20.10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
RUN dpkg -i packages-microsoft-prod.deb
RUN apt-get update; \
apt-get install -y apt-transport-https && \
apt-get update && \
apt-get install -y dotnet-sdk-5.0
RUN dotnet tool install --global Amazon.Lambda.Tools
## executing the newly installed tool fails
RUN dotnet lambda --help
从https://github.com/dotnet/dotnet-docker/issues/520 解决(非常感谢@myeongkilkim!):
显式更新 PATH 确实有技巧: ENV PATH="${PATH}:/root/.dotnet/tools"
FROM ubuntu as base-updates
RUN apt-get install -y wget
RUN wget https://packages.microsoft.com/config/ubuntu/20.10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
RUN dpkg -i packages-microsoft-prod.deb
RUN apt-get update; \
apt-get install -y apt-transport-https && \
apt-get update && \
apt-get install -y dotnet-sdk-5.0
# FIX:
# manually add dotnet tools path to path variable
# https://github.com/dotnet/dotnet-docker/issues/520
ENV PATH="${PATH}:/root/.dotnet/tools"
RUN dotnet tool install --global Amazon.Lambda.Tools
## executing the newly installed tool now works :)
RUN dotnet lambda --help
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句