如何使用Docker构建开发环境 您所在的位置:网站首页 windows使用docker的好处 如何使用Docker构建开发环境

如何使用Docker构建开发环境

2023-12-13 08:37| 来源: 网络整理| 查看: 265

# 前端开发中,时常需要使用 shell 命令,而有一个较为完整的环境比较重要,因此选择了使用 ubuntu 作为基础,若在意容器大小的话,可自行选择适用的基础镜像FROM ubuntuLABEL org.opencontainers.image.authors="[email protected]"

# 设置环境变量 ENV DEBIAN_FRONTEND noninteractive

# 设置时区ARG TZ=Asia/ShanghaiENV TZ ${TZ}

RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

# 用 root 用户操作USER root

# 更换阿里云源,在国内可以加快速度RUN sed -i "s/security.ubuntu.com/mirrors.aliyun.com/" /etc/apt/sources.list && \ sed -i "s/archive.ubuntu.com/mirrors.aliyun.com/" /etc/apt/sources.list && \ sed -i "s/security-cdn.ubuntu.com/mirrors.aliyun.com/" /etc/apt/sources.listRUN apt-get clean

# 更新源,安装相应工具RUN apt-get update && apt-get install -y \ zsh \ vim \ wget \ curl \ python \ git-core

# 安装 zsh,以后进入容器中时,更加方便地使用 shellRUN git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh && \ cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc && \ git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions && \ git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting && \ sed -i 's/^plugins=(/plugins=(zsh-autosuggestions zsh-syntax-highlighting z /' ~/.zshrc && \ chsh -s /bin/zsh

# 创建 me 用户RUN useradd --create-home --no-log-init --shell /bin/zsh -G sudo me && \ adduser me sudo && \ echo 'me:password' | chpasswd

# 为 me 安装 omzUSER meRUN git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh && \ cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc && \ git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions && \ git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting && \ sed -i 's/^plugins=(/plugins=(zsh-autosuggestions zsh-syntax-highlighting z /' ~/.zshrc

# 安装 nvm 和 nodeENV NVM_DIR=/home/me/.nvm \ NODE_VERSION=v14

RUN mkdir -p $NVM_DIR && \ curl -o- https://gitee.com/mirrors/nvm/raw/master/install.sh | bash && \ . $NVM_DIR/nvm.sh && \ nvm install ${NODE_VERSION} && \ nvm use ${NODE_VERSION} && \ nvm alias ${NODE_VERSION} && \ ln -s `npm bin --global` /home/me/.node-bin && \ npm install --global nrm && \ nrm use taobao && \ echo '' >> ~/.zshrc && \ echo 'export NVM_DIR="$HOME/.nvm"' >> ~/.zshrc && \ echo '[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm' >> ~/.zshrc

# 安装 yarnRUN curl -o- -L https://yarnpkg.com/install.sh | bash; \ echo '' >> ~/.zshrc && \ echo 'export PATH="$HOME/.yarn/bin:$PATH"' >> ~/.zshrc

# Add NVM binaries to root's .bashrcUSER root

RUN echo '' >> ~/.zshrc && \ echo 'export NVM_DIR="/home/me/.nvm"' >> ~/.zshrc && \ echo '[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm' >> ~/.zshrc && \ echo '' >> ~/.zshrc && \ echo 'export YARN_DIR="/home/me/.yarn"' >> ~/.zshrc && \ echo 'export PATH="$YARN_DIR/bin:$PATH"' >> ~/.zshrc

# Add PATH for node & YARNENV PATH $PATH:/home/me/.node-bin:/home/me/.yarn/bin

# 删除 apt/lists,可以减少最终镜像大小RUN rm -rf /var/lib/apt/lists/*

WORKDIR /var/www



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有