下面是一个用于我的Vim设置的Dockerfile,所以我可以在任何地方使用它。
虽然它是公开的,但它并不打算用于大规模使用,因此它在构建过程中创建密码的表面并不是一个问题。最后没有COMMAND,因为它打算用挂载运行。我用docker run -itv /:/tmp/real_root uberhumus/vim-anywhere:latest vi 运行它的命令是我以后应该COPY .vimrc吗?还是用ADD代替?我是不是太喜欢层层了?是否有更明智的方法来处理我遇到的RUN、WORKDIR、RUN情况?
谢谢!
ENV DEBIAN_FRONTEND=noninteractive
ARG TZ=Asia/Jerusalem
RUN apt-get update; \
apt-get dist-upgrade -y && \
apt-get autoremove -y && \
apt-get autoclean -y && \
apt-get install -y vim tmux bash-completion shellcheck ssh git pylint flake8 python sudo expect curl cmake build-essential python3-dev golang npm openjdk-11-jre exuberant-ctags && \
echo vim-anywhere > /etc/hostname
ARG USERNAME=yotam
RUN PASSWORD=$(openssl rand -base64 16 | tr -d "=") && \
useradd -m -s /bin/bash $USERNAME && \
usermod -aG sudo $USERNAME && \
echo "$USERNAME:$PASSWORD" | chpasswd && \
echo $PASSWORD
WORKDIR /home/$USERNAME
COPY .vimrc .
RUN mkdir -p ./.vim/pack/plugins/start
WORKDIR /home/$USERNAME/.vim/pack/plugins/start
RUN git clone https://github.com/tpope/vim-fugitive.git/ && \
git clone --depth 1 https://github.com/dense-analysis/ale.git && \
git clone https://github.com/ycm-core/YouCompleteMe.git
WORKDIR /home/$USERNAME/.vim/pack/plugins/start/YouCompleteMe
RUN git submodule update --init --recursive && \
python3 install.py --all && \
chown -R $USERNAME:$USERNAME /home/$USERNAME
USER $USERNAME```#qcStackCode#发布于 2020-11-16 20:14:19
我得到的最好的是:
FROM ubuntu:20.04
ENV DEBIAN_FRONTEND=noninteractive
ARG TZ=Asia/Jerusalem
ARG USERNAME=yotam
RUN apt-get update; \
apt-get dist-upgrade -y && \
apt-get autoremove -y && \
apt-get autoclean -y && \
apt-get install -y vim tmux bash-completion shellcheck ssh git pylint flake8 python sudo expect curl cmake build-essential python3-dev golang npm openjdk-11-jre exuberant-ctags && \
useradd -m -s /bin/bash $USERNAME && \
usermod -aG sudo $USERNAME && \
echo vim-anywhere > /etc/hostname
WORKDIR /home/$USERNAME
COPY .vimrc .
RUN mkdir -p ./.vim/pack/plugins/start
WORKDIR /home/$USERNAME/.vim/pack/plugins/start
RUN git clone https://github.com/tpope/vim-fugitive.git/ && \
git clone --depth 1 https://github.com/dense-analysis/ale.git && \
git clone https://github.com/ycm-core/YouCompleteMe.git
WORKDIR /home/$USERNAME/.vim/pack/plugins/start/YouCompleteMe
RUN git submodule update --init --recursive && \
python3 install.py --all && \
chown -R $USERNAME:$USERNAME /home/$USERNAME && \
PASSWORD=$(openssl rand -base64 16 | tr -d "=") && \
echo "$USERNAME:$PASSWORD" | chpasswd && \
echo $PASSWORD
WORKDIR /home/$USERNAME
USER $USERNAME这只会给我带来一些小小的好处:
https://codereview.stackexchange.com/questions/252124
复制相似问题