FROM ubuntu:18.04
LABEL author = 'ZHOU'
# 修改源为国内源
RUN sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list && \
sed -i s@/security.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
RUN apt-get clean && apt-get update --fix-missing
# 更新系统
RUN apt-get update && apt-get upgrade
# 软件安装所必须的依赖时,有可能会出现对话框进行选择,如果不选择会导致镜像制作失败,需要添加如下语句
ENV DEBIAN_FRONTEND noninteractive
# 安装apt-utils(允许安装第三方软件)、sudo、vim、iproute2、wget(下载文件)
# 安装iproute2的依赖时,会出现对话框,制作镜像时不选择会失败,解决方案是添加语句: ENV DEBIAN_FRONTEND noninteractive)
RUN apt-get install -y apt-utils sudo vim iproute2 wget
#+++++++++++++++++++
# 添加管理员账户ZHOU
RUN useradd -ms /bin/bash zhou && \
adduser zhou sudo && \
echo "zhou:0"|chpasswd
# 改变运行账户、工作目录和运行Shell(/bin/bash,默认Shell为/bin/sh)
# USER zhou
WORKDIR /home/zhou
ENTRYPOINT /bin/bash
#+++++++++++++++++++
# ---------------------------------------
# 安装OpenSSH
# RUN apt-get install -y openssh-server
# 必须手动创建相应的目录才能正常启动SSH服务
# RUN mkdir -p /var/run/sshd
# 开放22端口
# EXPOSE 22
# 启动SSH服务
# ENTRYPOINT /usr/sbin/sshd -D
# --------------------------------
#++++++++++++++++++++
USER zhou
# 下载Miniconda
RUN wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/conda.sh
# 安装Miniconda, -b为静默安装,-p为指定安装目录,安装完成之后删除安装程序
RUN /bin/bash ~/conda.sh -b -p ~/conda && \
rm ~/conda.sh
# 添加conda变量到PATH
RUN echo '\n\
__conda_setup="$('/home/zhou/conda/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"\n\
if [ $? -eq 0 ]; then\n\
eval "$__conda_setup"\n\
else\n\
if [ -f "/home/zhou/conda/etc/profile.d/conda.sh" ]; then\n\
. "/home/zhou/conda/etc/profile.d/conda.sh"\n\
else\n\
export PATH="/home/zhou/conda/bin:$PATH"\n\
fi\n\
fi\n\
unset __conda_setup\n'\
>> ~/.bashrc && \
/bin/bash -c 'source ~/.bashrc'
# 更改Python国内源
RUN mkdir ~/.pip && \
cd ~/.pip && \
echo "\
[global]\n\
index-url = https://mirrors.aliyun.com/pypi/simple/\n\
\n\
[install]\n\
trusted-host=mirrors.aliyun.com\n"\
> ~/.pip/pip.conf
# 更改Conda国内源
RUN echo "\
channels:\n\
- defaults\n\
show_channel_urls: true\n\
channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda\n\
default_channels:\n\
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main\n\
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free\n\
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r\n\
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro\n\
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2\n\
custom_channels:\n\
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud\n\
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud\n\
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud\n\
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud\n\
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud\n\
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud\n"\
> ~/.condarc
# ADD .condarc /home/zhou/
# RUN /bin/bash -c 'source /home/zhou/.condarc'
#+++++++++++++++++++
# 安装完软件之后,自动清除缓存
USER root
RUN apt-get autoclean && apt-get autoremove
# 设置运行账户,设置环境变量并容器启动后需要运行的命令
USER zhou
ENV HOME /home/zhou
ENV HOSTNAME ZHOU-PC
CMD /bin/bash
来源:CSDN
作者:ZHOUZAIHUI
链接:https://blog.csdn.net/gandongusa/article/details/104598860