有时我们的项目是使用yarn去发布的,当需要使用docker发布这个项目时,安装yarn是必须的,但是平时使用的npm install -g yarn此时却不可用

从网站上找到解决的方法 地址:https://github.com/yarnpkg/yarn/issues/869

# 使用基础镜像
From node:boron

# 创建人
MAINTAINER chenxuhua0530@163.com

# 创建目录,并且指定工作目录
RUN mkdir -p /usr/src/app
WORKDIR /user/src/app

# 将当前目录所有文件复制至工作目录,此处会忽略.dockerignore中的文件或文件夹,COPY和ADD命令都会忽略
COPY . /user/src/app

# 使用npm安装依赖包

RUN curl -o- -L https://yarnpkg.com/install.sh | bash
RUN $HOME/.yarn/bin/yarn install
RUN npm install -g webpack && npm install && yarn febuild

#映射4000端口(已经修改项目的默认端口为3004)(指定容器需要映射到宿主机器的端口)
EXPOSE 4000

# 运行命令gulp start
CMD ["yarn","bestart"]

以上的命令中,RUN npm install -g webpack && npm install && yarn febuild为什么会放在同一个RUN中?因为如果不同的命令,那运行每一组命令时都需要另外加一个镜像,为了更少的镜像,所以将几个命令放在同一行,方便管理