NodeJS项目build成为本地镜像上传阿里云ACR
先注册阿里云账号
选择“容器镜像服务” -> “个人实例”。由于是测试目的,个人版也可以接受。
创建命名空间
创建镜像仓库
选择本地仓库 - 本示例会从本机推送镜像
创建成功后,会有提示相关命令
创建一个nodejs项目
package.json
{
"name": "docker_web_app",
"version": "1.0.0",
"description": "Node.js on Docker",
"author": "First Last <first.last@example.com>",
"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/