docker - 是否可以为多个继承的 Docker 容器启用颜色支持?
问题描述
我有一个容器,它继承自 nvidia cuda 10.2 ubuntu 18.04:
FROM nvidia/cuda:10.2-base-ubuntu18.04
# Install some basic utilities
RUN apt-get update && apt-get install -y \
curl \
wget \
ca-certificates \
sudo \
git \
bzip2 \
libx11-6 \
&& rm -rf /var/lib/apt/lists/*
# Create a working directory and set it as default
RUN mkdir /app
RUN chmod 777 /app
WORKDIR /app
# Create a non-root user and switch to it
RUN adduser --disabled-password --gecos '' --shell /bin/bash user
RUN echo "user ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/90-user
USER user
# All users can use /home/user as their home directory
ENV HOME=/home/user
RUN chmod 777 /home/user
# Install Miniconda
RUN wget -O ~/miniconda.sh https://repo.continuum.io/miniconda/Miniconda3-py37_4.8.2-Linux-x86_64.sh \
&& chmod +x ~/miniconda.sh \
&& ~/miniconda.sh -b -p ~/miniconda \
&& rm ~/miniconda.sh
ENV PATH=/home/user/miniconda/bin:$PATH
ENV CONDA_AUTO_UPDATE_CONDA=false
# Update Conda
RUN conda update conda
如果我使用环境变量运行此容器,env TERM=xterm-256color
我将获得预期的彩色输出支持。
现在我有另一个 Docker 容器,它继承自我在上面粘贴的容器(标记:mlflowcore/base:1.0.0):
FROM mlflowcore/base:1.0.0
# Install the conda environment
COPY pytorch_environment.yml .
RUN conda env create -f pytorch_environment.yml && conda clean -a
# Activate the environment
RUN echo "source activate pytorch" > ~/.bashrc
ENV PATH /home/user/miniconda/envs/pytorch/bin:$PATH
# Dump the details of the installed packages to a file for posterity
RUN conda env export --name pytorch > pytorch.yml
# Currently required, since mlflow writes every file as root!
USER root
但是,当我使用变量运行此容器env TERM=xterm-256color
或从 Docker 容器设置 ENV TERM xterm-256color 变量时,我没有获得颜色支持。
如何为我的容器获得颜色支持,该容器继承自基于另一个容器的 Docker 容器?
非常感谢!
解决方案
问题是该行RUN echo "source activate pytorch" > ~/.bashrc
覆盖了默认的 bashrc 文件。
>
通过添加:将其更改为将命令附加到 bashrcRUN echo "source activate pytorch" >> ~/.bashrc
解决了问题。
推荐阅读
- android - Google Drive REST API 是否仍需要 GET_ACCOUNTS 权限?
- r - Quantmod Heikin-Ashi 绘图不可用
- json - laravel 4 输出 json 顺序描述
- css - 如何使用 data-* 作为省略号元素的工具提示
- mysql - 为什么从视图中检索数据与该视图的基础选择时存在性能差异
- javascript - 匹配 JSON 对象中的键/值
- r - 如何在 R 中创建时间序列?
- python - 将多个函数应用于返回多个数据帧的熊猫 groupby 应用?
- swift - 如何在 Swift 中请求游戏的首字母缩写
- swift - 如何将导航栏后退按钮图像设置为默认符号?