📜  在 docker 中使用 yarn - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:07:38.950000             🧑  作者: Mango

在 Docker 中使用 Yarn

最近,Docker 成为了非常常见的容器化部署工具,而 Yarn 是 Facebook 推出的一个包管理工具,比起 npm 有更快的速度和更好的稳定性。在这里,我们将介绍如何在 Docker 中使用 Yarn,以便更好地管理我们的 Node.js 应用程序。

前提条件

在使用 Docker 和 Yarn 之前,请安装好它们。您可以通过以下命令来检查它们是否已经安装:

$ docker -v
Docker version 20.10.7, build f0df350
$ yarn -v
1.22.10
创建 Dockerfile

在 Docker 中使用 Yarn,需要在容器中安装 Node.js 和 Yarn。我们需要在 Dockerfile 中指定这两个组件。在项目根目录下,创建一个名为 Dockerfile 的文件,内容如下:

FROM node:16.3-alpine

RUN apk add --no-cache curl \
    && curl -o- -L https://yarnpkg.com/install.sh | sh \
    && apk del curl

ENV PATH /root/.yarn/bin:/root/.config/yarn/global/node_modules/.bin:$PATH

WORKDIR /app
COPY package.json .
COPY yarn.lock .

RUN yarn install --frozen-lockfile

COPY . .

CMD ["yarn", "start"]

这个 Dockerfile 会基于 alpine 版本镜像启动一个 Node.js 环境,在安装了 curl 后,下载 Yarn 并安装,然后设置了环境变量 PATH,让我们能够全局调用 yarn 命令,然后拷贝项目文件到镜像中,最后启动 yarn start 命令。

构建 Docker 镜像

执行以下命令来构建 Docker 镜像:

$ docker build -t my-app .

这个命令会基于我们在 Dockerfile 中定义的配置来构建一个镜像,并将它保存在本地。

运行 Docker 镜像

最后,我们可以运行我们刚刚构建的容器。执行以下命令:

$ docker run -it --rm -p 3000:3000 my-app

这个命令会在第 3000 端口启动我们的 Node.js 应用程序,并将容器随之启动。在这个过程中,我们使用了 -it 参数来打开交互式终端,以便我们可以查看应用程序的输出。同时,我们使用 --rm 参数来在容器停止时删除容器。

打开浏览器,输入 http://localhost:3000,即可访问我们的应用程序。

总结:在 Docker 中使用 Yarn 和 npm 差不多,需要在容器中安装 Node.js 和 Yarn,并使用 Dockerfile 将项目打包到镜像中。启动容器时,需要使用 docker run 命令,并设置端口映射,即可访问应用程序。