# 1.需求说明
基于 node:20 制作一个基础镜像,并上传到私有镜像仓库
# 2.Dockerfile
要创建一个基于 node:20
的 Docker 基础镜像并将其推送到私有仓库(通常称为私仓),你可以按照以下步骤操作:
创建 Dockerfile:
创建一个 Dockerfile
,从 node:20
镜像开始,并根据需要添加其他层。例如:
FROM node:20
# 可选:安装全局依赖或设置工作目录等
# RUN npm install -g some-package
# WORKDIR /app
# 可选:复制你的应用文件到容器中
# COPY . /app
# 可选:设置环境变量
# ENV NODE_ENV production
# 可选:暴露端口
# EXPOSE 3000
# 可选:设置容器启动时执行的命令
# CMD ["node", "app.js"]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 3.构建镜像
构建 Docker 镜像:
使用 docker build
命令构建你的镜像。你需要指定一个标签(tag),通常包括仓库名称和镜像名称。
不指定架构:
docker build -t deploy.deepexi.com/console-tag/node:20 .
1
指定架构:
docker build -t deploy.deepexi.com/console-tag/node:20 --platform=linux/amd64 .
docker build -t deploy.deepexi.com/console-tag/python:3.10-slim --platform=linux/amd64 .
1
2
3
2
3
这里 your-registry-domain
是你的私有仓库地址,your-repo
是仓库名,your-image-name
是镜像名,your-tag
是镜像标签,.
表示当前目录是上下文。
# 4.登录私仓
登录到私有仓库:
在推送之前,你需要使用 docker login
命令登录到你的私有仓库。
docker login your-registry-domain
1
输入你的用户名和密码。
# 5.推送到私仓
推送镜像到私有仓库:
使用 docker push
命令将镜像推送到你的私有仓库。
docker push deploy.deepexi.com/console-tag/node:20
docker push deploy.deepexi.com/console-tag/fastagi-baseline-base:v1.3.0-release-202408161400
docker push deploy.deepexi.com/console-tag/python:3.10-slim
1
2
3
4
5
2
3
4
5
# 6.验证上传
登录到你的私有仓库的 Web 界面或使用仓库提供的 API,检查镜像是否已经成功推送。
请注意,如果你的私有仓库需要特定的认证方式(如访问令牌),你可能需要根据仓库的文档进行相应的配置。
此外,确保在推送镜像之前,你拥有足够的权限在私有仓库中创建和更新镜像。如果你在推送过程中遇到问题,检查你的仓库配置和权限设置。
# 7.拉取镜像
docker pull your-registry-domain/your-repo/your-image-name:your-tag
1