Docker在前端开发中的应用越来越广泛,它可以方便地实现各种环境的搭建,在本地开发环境和生产环境中使用同样的容器,避免了由于环境不一致引发的各种问题。本文将介绍 Docker for Windows的安装与配置,以及如何使用 Docker for Windows 来实现前端开发环境的搭建。
安装Docker for Windows
首先需要去Docker官网下载安装Docker for Windows。https://www.docker.com/products/docker-desktop
安装完成后可以在电脑中找到 Docker Desktop 应用,在运行该应用之前需要修改一些默认配置:
首先需要开启 Docker Desktop 的 Hyper-V 支持,右键点击 Docker Desktop 的图标,选择“Settings”,在“General”中选择“Use the WSL2 based engine”,确认修改。
然后需要通过 Docker Desktop 的图标,进入系统设置,选择“Shared Drives”,勾选需要共享的磁盘,如图所示:
- 配置好之后,开启 Docker Desktop 应用,检查 Docker service 是否启动,如果没有启动,手动启动。
Docker镜像和容器
Docker 把一个项目或者应用打包成一个镜像,这个镜像包含了项目或者应用的所有依赖和配置信息,可以部署到任何支持 Docker 的环境中。
镜像一旦创建,就可以在任何地方部署,而容器则是根据镜像创建的运行实例,容器通常被称为应用的运行实例。
在使用 Docker for Windows 进行前端开发时,可以使用一个基础镜像来配置前端开发环境,需要的NodeJS、npm、Linux命令行工具等已经全部安装好,我们可以直接使用该镜像来搭建我们的开发环境。
Dockerfile
在 Docker 中,通过 Dockerfile 文件来进行自动化构建。可以对 Dockerfile 文件进行配置,将一些命令放到其中,这样就可以自动构建出一个镜像。这样,就不会出现开发和部署环境不一致的问题了。
下面是一个示例的Dockerfile文件:
// javascriptcn.com 代码示例 # 安装 Node.js FROM node:14.16.0-alpine3.10 # 在容器中创建目录 RUN mkdir -p /usr/src/app # 设置工作目录 WORKDIR /usr/src/app # 复制应用所需的文件到容器中 COPY package*.json ./ # 安装应用依赖 RUN npm install # 将应用的所有文件复制到容器中 COPY . . # 暴露应用所占端口,即项目默认端口 EXPOSE 8080 # 定义应用运行时的命令 CMD [ "npm", "start" ]
通过这个Dockerfile文件,就可以构建出一个完整的前端开发环境,其中包括Node.js、npm、Linux命令行工具。
接下来就可以利用这个Dockerfile文件,一键构建出新的容器,在该容器内开发和调试项目。在启动容器时,需要进行一定的配置:
docker run -it -v //C:/Users/:/usr/src/app/ -w /usr/src/app/ -p 8080:8080 my-frontend-env:1.0 /bin/sh
这里,-v
参数用来映射Windows系统的一个目录为容器内的 /usr/src/app/
目录,这个目录中就是我们开发的应用,-w
参数指定工作目录为/usr/src/app/
,-p
参数将容器内部的端口 8080 映射到宿主机的端口 8080。my-frontend-env:1.0
是我们构建出来的容器镜像的名称和版本号。
总结
Docker for Windows 是一个非常优秀的开发工具,在前端开发过程中的应用越来越广泛。经过本文的介绍,读者应该已经可以基本掌握 Docker for Windows 的使用方法,以及如何在 Docker 中部署前端开发环境了,读者可以结合自己的实际情况来实践。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65332b4e7d4982a6eb69aa9f