首页 > 编程语言 >NodeJS项目build成为本地镜像上传阿里云ACR

NodeJS项目build成为本地镜像上传阿里云ACR

时间:2023-12-11 09:22:05浏览次数:33  
标签:npm NodeJS app js ACR registry https docker build

先注册阿里云账号
选择“容器镜像服务” -> “个人实例”。由于是测试目的,个人版也可以接受。

创建命名空间

创建镜像仓库

选择本地仓库 - 本示例会从本机推送镜像

创建成功后,会有提示相关命令

创建一个nodejs项目
package.json

{
    "name": "docker_web_app",
    "version": "1.0.0",
    "description": "Node.js on Docker",
    "author": "First Last <[email protected]>",
    "main": "server.js",
    "scripts": {
    "start": "node server.js"
    },
    "dependencies": {
    "express": "^4.18.2"
    }
}

server.js

'use strict';
const express = require('express');

const PORT = 8080;
const HOST = '0.0.0.0';

const app = express();

app.get('/', (req, res) => {
    res.send('Hello World');
});

app.listen(PORT, HOST, () => {
    console.log(`Running on http://${HOST}:${PORT}`);
});

npm install

新建Dockerfile

FROM node:14

WORKDIR /usr/src/app

COPY package*.json ./
RUN npm install --registry=https://registry.npm.taobao.org   /*如果网络不好,可以增加registry参数*/

COPY . .

EXPOSE 8080

CMD [ "node", "server.js" ]

.dockerignore

node_modules
npm-debug.log

家里网络差的可以设置npm代理
npm config set registry https://registry.npm.taobao.org

npm install -g cnpm --registry=https://registry.npm.taobao.org

执行以下命令,-t 代表tag,最后的点(.)不要漏掉。 可能需要以管理员身份运行cmd
docker build -t andy1982/nodejs_app:1.0.0 .

docker images,可以看到刚才build出的image

登录ACR,输入密码
docker login --username=aliyun3961843692 registry.cn-shanghai.aliyuncs.com

为刚才build出的image打标签
docker tag 07e9097c39d4 registry.cn-shanghai.aliyuncs.com/andy1982/demo2023:1.0.0

push到ACR
docker push registry.cn-shanghai.aliyuncs.com/andy1982/demo2023:1.0.0

登录ACR查看
https://cr.console.aliyun.com/cn-shanghai/instance/repositories

参考:
https://blog.csdn.net/qyfx123456/article/details/132353051
https://mkabdelrahman.github.io/posts/k8s-pods/

标签:npm,NodeJS,app,js,ACR,registry,https,docker,build
From: https://www.cnblogs.com/Andy1982/p/17893230.html

相关文章

  • Docker - Remove build cache
    dockerbuilderpruneRemovebuildcacheUsagedockerbuilderpruneDescriptionRemovebuildcacheOptionsOptionShortDefaultDescription--all-a Removeallunusedbuildcache,notjustdanglingones--filter  Providefiltervalues(e.g. unt......
  • Docker build 无法解析域名
    ###报错Dockerbuild无法解析域名报错:ERROR[2/12]RUNcurl-o/etc/yum.repos.d/CentOS-Base.repohttps://mirrors.aliyun.com/repo/Centos-7.repo解决Dockerbuild无法解析域名#追加到etc/docker/daemon.json,注意JSON的格式{"dns":["8.8.8.8","114.114.1......
  • 记一次docker buildx build 推送到本地私有仓库出现 connection refused 的问题
    想在本地编译多个架构的基础镜像,这样后续有其他业务使用的时候,不必从头开始编译。使用传统的dockerbuild-tImageName:tag方式,只能编译和主机相同架构的镜像。而dockerbuildxbuild不支持将编译好的镜像放置在本地docker中,只能以文件的形式放在本地。因此需要在本地搭建......
  • Docker - Build an application to an image
    Dockerfile:#BuildstageFROMgolang:1.21.5-alpine3.18ASbuilderWORKDIR/appCOPY..RUNgoenv-wGOPROXY=https://goproxy.io,directRUNgobuild-omainmain.go#RunstageFROMalpine:3.18WORKDIR/appCOPY--from=builder/app/main.COPYapp.env......
  • pip 安装 mysqlclient报错ERROR: Could not build wheels for mysqlclient, which is
    这是本地环境中没有安装C++的环境,安装好后再次运行报错:国内网站上找了半天,试了又试,不能根本上解决问题,最后从国外的网站上找到的:下载安装MariaDBCConnector,地址:DownloadMariaDBConnectorsfordataaccess&analysis|MariaDB,安装到默认路径下,关闭重新打开cmd,输入:pi......
  • node.js - 在linux系统上安装和配置nodejs
    step1:根据自己的系统架构下载nodejs软件包https://nodejs.org/en/download/curl-Ohttps://nodejs.org/dist/v20.10.0/node-v20.10.0-linux-arm64.tar.xzstep2:创建目录sudomkdir-p/usr/local/lib/nodejsstep3:解压二进制软件包sudotar-xJvfnode-v20.10.0-lin......
  • 阿里云 ACR 制品中心 AI/大数据镜像专场上新推荐榜
    今天,AI领域的快速发展不仅需要算法的突破,也需要工程的创新。随着容器技术和服务在企业的应用程度不断加深,企业对于容器的使用也越来越多地从在线业务逐渐向AI、大数据类型的工作负载发展。同时,开发人员在考虑如何通过云原生技术,以统一架构、统一技术堆栈支撑更多类型的工作负载,......
  • NodeJs的库/模块
    一、require("path")path模块(1)extname方法extname方法返回路径中的文件扩展名,例如“index.txt”通过该方法返回".txt"letpath=require("path");letfilePath="index.txt";console.log(path.extname(filePath));//输出.txt二、iconv-lite和iconv库......
  • Groovy StringBuilder类踩坑
    今天在写脚本的时候发现一个奇怪的错误。经过猜想验证,发现原来Groovy过于灵活了,算是重复踩了之前的坑。Groovy特性描述如下:当Groovy脚本调用getFun()和setFun()方法时,会默认给这个类有一个FunTester的属性。反过来,如果这个类有Fun这个属性,那么get和set方法是不用显式写出来的。本......
  • Nodejs APM监控实战分享
    如何对线上的nodejs做监控,了解相关的GC、内存使用情况、性能,如何更好的了解相关的指标,我们需要做一个采集线上数据的方案,但是又不希望侵入性太强,首先收集的指标。内存相关指标说明堆内存rss:常驻内存,node进程分配的总内存大小external:v8管理的C++所占用的内存大小arra......