首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vim +插件和.vimrc的Dockerfile

Vim +插件和.vimrc的Dockerfile
EN

Code Review用户
提问于 2020-11-14 22:28:34
回答 1查看 286关注 0票数 1

下面是一个用于我的Vim设置的Dockerfile,所以我可以在任何地方使用它。

虽然它是公开的,但它并不打算用于大规模使用,因此它在构建过程中创建密码的表面并不是一个问题。最后没有COMMAND,因为它打算用挂载运行。我用docker run -itv /:/tmp/real_root uberhumus/vim-anywhere:latest vi 运行它的命令是我以后应该COPY .vimrc吗?还是用ADD代替?我是不是太喜欢层层了?是否有更明智的方法来处理我遇到的RUNWORKDIRRUN情况?

谢谢!

代码语言:javascript
复制
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#
EN

回答 1

Code Review用户

回答已采纳

发布于 2020-11-16 20:14:19

我得到的最好的是:

代码语言:javascript
复制
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

这只会给我带来一些小小的好处:

  1. 密码在构建结束时得到回响,在输出中更容易找到。
  2. 回归家园,在最后是更多的,你会直觉地期望。
票数 0
EN
页面原文内容由Code Review提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codereview.stackexchange.com/questions/252124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档