前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >docker 构建前端项目, 公共 node_modules 镜像

docker 构建前端项目, 公共 node_modules 镜像

作者头像
copy_left
发布于 2019-12-16 09:50:05
发布于 2019-12-16 09:50:05
3K10
代码可运行
举报
文章被收录于专栏:方球方球
运行总次数:0
代码可运行

docker 构建前端项目, 公共 node_modules 镜像

目的
  • 通过docker 快速搭建项目开发环境
  • 防止node_modules 重复安装, 及安装成功率
基础项目结构
  • 宿主机
    • f:/project
      • package.json
      • postcess.config.js
      • ....
  • 容器
    • project
      • package.json
      • postcess.config.js
      • node_modules
      • source
1. 构建基础node环境, 设置共享卷, 设置 NODE_PATH
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker run -it --env NODE_PATH=/project/node_moduels -v /f/project:/project/source  node /bin/bash

// 这里将 f:/project 映射到容器的 /project/source 目录
2. 构建 node_modules
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 拷贝文件 package.json postcss.config.js
cp ./source/package.json ./package.json
cp ./source/postcess.config.json /postcess.config.json

// 构建node_modules
npm i

// 创建 node_modules 软连
ln -s /project/node_modules /project/source/node_modules
3. 创建镜像
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// docker commit [容器id] [镜像名称]
docker commit 2df7591d9c08 vue-project/node_modules
测试
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 构建新容器时,需要重新挂载本地卷
docker run -it -v /f/project:/project/source  vue-project/node_modules /bin/bash

// 启动前端项目
cd project/source

yarn serve
总结
  • 将项目源文件通过 volume 挂载到容器中,方便源文件可被随时修改并保存
  • node_modules 与镜像绑定, 通过软连及制定NODE_PATH 的方式共享 node_modules, 保证拉取镜像后可直接使用.
  • 这里为了保证构建及包的正常使用, 将 package.json postcess.config.json 放到 node_modules 同级目录,更新配置时,需要注意文件的同步更新
  • 这里使用的是vue 项目,其他项目思路基本雷同
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
通过软连将容器里的node_modules映射到数据卷,宿主机是读取不了的,如果在此开发,你会发现安装的依赖是不能被编辑器识别的
通过软连将容器里的node_modules映射到数据卷,宿主机是读取不了的,如果在此开发,你会发现安装的依赖是不能被编辑器识别的
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
ubuntu14.04.1升级openssh
由于ubuntu14.04.1默认的openssh是5.6p1版的,有很多安全漏洞,所以计划升级至openssh7.5p1 一、下载升级所需的软件 zlib-1.2.11.tar.gz openssh-7.5p1.tar.gz openssl-1.0.2l.tar.gz
孙杰
2019/10/29
1.6K0
ubuntu14.04.1升级openssh
Docker为镜像添加SSH服务
在root用户目录下创建.ssh目录,并复制需要登录的公钥信息(一般为本地主机用户目录下的.ssh/id_rsa.pub文件)到authorized_keys文件中
lilugirl
2019/05/26
1.8K0
Docker 生产SSH服务的镜像
7.当前这个容器 root 用户目录下建立.ssh目录,复制需要的公钥到 authorized_keys 文件
solate
2019/07/19
8890
构建带有ssh服务的镜像
公司有一批机器是内网的机器,无法访问外网,但是内网之间都是可以互通的,我们需要在这几台机器上部署环境,所以优先考虑使用docker容器,在本地写好dockerfile,构建好镜像,然后把镜像load到目标机器上,所以我们需要先构建一层装有基础服务的镜像,然后在此基础上部署服务。
dogfei
2020/07/31
1.6K0
Dockerfile 分享之 SSH Server
本文介绍了如何利用 Docker 构建一个安全的 SSH 服务器,并通过实践示例展示如何构建并运行 SSH 服务器。通过使用 Docker,可以快速、一致地部署和管理应用程序,简化了开发和部署的过程。同时,通过使用 Dockerfile 和 Docker Compose,可以自动化部署和管理 SSH 服务器,避免了手动配置和启动 SSH 服务器的繁琐过程。通过使用密码学、密钥管理和访问控制等安全措施,可以确保 SSH 服务器的安全性。
姚俊刚
2016/09/28
2.6K0
Ubuntu on Windows10 跨平台开发环境搭建权威指南
程序猿经常争论的一个话题是:日常开发到底 Windows 好还是 Linux 好?进而演化出另一个问题:到底选 MacBook 好还是 SurfaceBook 好? 选择 Linux 系统或者 mac 笔记本的同学最核心的理由是 Linux/Mac 开发、编译工具链比较完善,很多环境或者安装包都系统自带了,写出来的程序可以很方便的通过开发、测试与线上系统对接,开发测试效率比较高,而 Windows 下开发的同学可能需要考虑开发、测试代码的可移植性问题。就拿笔者来说,也曾经遇到过某些 java/python 
用户1177713
2018/03/29
3.2K0
Ubuntu on Windows10 跨平台开发环境搭建权威指南
linux的ssh服务升级后无法启动修复
*** Missing privilege separation directory: /var/run/sshd***
小沨
2020/12/28
8.6K0
Linux上如何手动升级OpenSSH版本?解决CVE-2021-41617漏洞
有小伙伴问,如何解决CVE-2021-41617漏洞漏洞?增加我Linux服务器的安全性:
Mintimate
2021/09/29
10.9K4
Linux上如何手动升级OpenSSH版本?解决CVE-2021-41617漏洞
Petalinux2019.1详细安装[通俗易懂]
1、首先安装虚拟机,VMware 2、安装UBUNTU,ubuntu-18.04.1-desktop-amd64.iso,版本必须是这个,和petalinux-v2019.1-final-installer.run版本对应。 3、安装虚拟机完成后,在windos和linux之间建立共享文件夹,使之传输文件更简单。 (1)首先取得管理员权限 首先输入用户密码 然后设置 管理员密码 123456 sudo passwd 123456 123456 (2)进入管理员权限 su 123456 (3)安装samba服务器 sudo apt-get install samba (4)安装vim sudo apt-get install vim (5)创建共享文件夹 cd到ect cd samba vim smb.conf (6)编辑smb.conf 在最下面输入 [share1] path = /home/lcl/share1/ writable = yes public = yes create mode = 0644 directory mode = 0755 force group = lcl force user = lcl 按esc :qw 保存退出编辑 (7)重启虚拟机 (8)取得管理员权限 su 123456 (9)建立共享文件夹 并修改权限 cd到lcl文件夹 mkdir share1 chmod 777 share1 (10)安装net-tools 工具 sudo apt-get install net-tools (11)查看ip ifconfig (12)windos查看共享文件并看是否能读写 打开此电脑,在地址栏输入\192.168.xxx.xxx 刚才查看的虚拟机地址 此时就能看到共享文件夹了 ,可以将下载好的petalinux-v2019.1-final-installer.run复制到此文件夹。 4、和xshell建立连接 sudo apt-get install openssh-server sudo apt-get isntall ssh service sshd start xshell 配置 连接 主机 :linux ip地址 用户身份验证:用户名:lcl 密码:123456 点击连接 5、安装petalinux所需环境 按照当前petalinux版本 ug1144 均在管理员模式下安装 额外安装三个库 sudo apt-get install tftpd sudo apt-get install tftp sudo apt-get install openbsd-inetd
全栈程序员站长
2022/10/01
1.2K0
[Docker Practical learning] 08Docker Run Wordpress
I will add the previous content as soon as possible in the future. Today, learn how dockerfile and docker work through the WordPress container. I will record the following things
韩旭051
2020/06/23
5170
Ubuntu网络配置与SSH远程连接
操作前需要以下软件,且,Ubuntu已经安装在VMware Workstation上。 Ubuntu16.04 LTS VMware Workstation SecureCRT VMware的编辑ta
sparkle123
2018/04/26
2.7K0
Ubuntu网络配置与SSH远程连接
How to build your own ubuntu image with docker?
docker run -d -p 222:22 ubuntu-sshd-admin
王亚昌
2018/08/03
4080
Ubuntu 16.04升级OpenSSH
参考:Ubuntu 16.04 升级Openssh 8.8P1 Ubuntu 16 更新openssh 8.8
geekfly
2022/08/11
2.1K0
Ubuntu 16.04升级OpenSSH
Ubuntu环境下SSH的安装及使用
SSH是指Secure Shell,是一种安全的传输协议,Ubuntu客户端可以通过SSH访问远程服务器 。SSH的简介和工作机制可参看上篇文章 SSH简介及工作机制。
小黑鸭
2020/11/24
30.6K2
简单几步搭建一个基于 Docker 的 Tomcat 运行环境!
Docker 旨在提供一种应用程序的自动化部署解决方案,在 Linux 系统上迅速创建一个容器 (轻量级虚拟机) 并部署和运行应用程序,并通过配置文件可以轻松实现应用程序的自动化安装、部署和升级,非常方便。因为使用了容器,所以可以很方便的把生产环境和开发环境分开,互不影响,这是 docker 最普遍的一个玩法。更多的玩法还有大规模 web 应用、数据库部署、持续部署、集群、测试环境、面向服务的云计算、虚拟桌面 VDI 等等。
用户6543014
2019/10/25
7190
Docker 添加容器SSH服务
很多时候我们需要登陆到容器内部操作,此时我们就需要开启容器的SSH支持了,下面的小例子将具体介绍三种分配IP地址的方法,分别是pipworl分配,commit分配,Docker分配等.
王 瑞
2022/12/28
1.7K0
如何在 Ubuntu 24.04 LTS 上安装 SSH 服务器?
Ubuntu是一个基于Debian的开源Linux操作系统,由Canonical Ltd.开发和维护。Ubuntu致力于提供用户友好、稳定且安全的操作系统环境,适用于个人用户、企业和服务器等不同场景。
网络技术联盟站
2025/01/16
9010
如何在 Ubuntu 24.04 LTS 上安装 SSH 服务器?
docker使用笔记V -- FTP 与 SSH 支持
给容器赋予FTP和ssh登录在调试和使用阶段都是很不错的功能!下面看老高怎么实现的。
老高的技术博客
2022/12/28
4090
Ubuntu下开启SSH服务
在VMware WorkStation下,安装了Ubuntu,然后在Windows桌面使用XManager的XShell连接我的Ubuntu,可是同时提示连接失败。
卡尔曼和玻尔兹曼谁曼
2019/01/22
3.1K0
Ubuntu 开启远程登录 SSH 的安装和配置
SSH 为 SecureShell 的缩写,由 IETF 的网络工作小组(NetworkWorkingGroup)所制定;SSH 是一种安全协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
会长君
2023/04/26
7.5K0
相关推荐
ubuntu14.04.1升级openssh
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验