我们正在将“静态”HTML 内容转移到 Azure 环境中的 Docker。 管道构建是基于 yaml 的。该应用程序是 NextJs 的一个。 Web 代码之前已加载到 Azure 存储帐户中的容器中。
现在,当迁移到 Docker 并阅读 Microsoft 的相关页面时,出现了一些问题:
我必须创建一个“Docker 类型”的新管道吗?这是否会给它带来一些“神奇”的效果?
我可以继续使用现有的Container吗?他们告诉我应该创建一个“Azure 容器注册表”,这是我需要做的事情吗?
BR 丹
- 我必须创建一个“Docker 类型”的新管道吗?这是否会给它带来一些“神奇”的效果?
AFAIK,如果您的项目在本地设备中可用,则无需创建新的 docker 类型管道
- 我可以继续使用现有的Container吗?他们告诉我应该创建一个“Azure 容器注册表”,这是我需要做的事情吗?
您不能使用现有容器,
我已使用 Azure 容器注册表部署了 nextjs 默认应用程序。
步骤:
注意:- Docker 引擎或 Docker Desktop 应安装在您的系统中才能运行 docker 命令
Dockerfile
使用 docker build -t imagename:tagname path/to /dockerfile
构建图像。如果 .
在同一路径中可用,则使用 Dockerfile
。az acr login -n <container-registry-name>
登录到 Azure 容器注册表。docker tag nextjs:latest vivek.azurecr.io/azurenextjs:latest
将本地映像名称标记到注册表,并使用命令 docker push vivek.azurecr.io/azurenextjs:latest
将映像推送到注册表。确保容器正在侦听的端口相似。您可以从网络应用程序中的
选项更改端口。加载更新需要一些时间。Deployment Center -> <container-name (main)>
Dockerfile
:
FROM node:lts-alpine
ENV NODE_ENV=production
WORKDIR /usr/src/app
COPY . .
RUN npm install && npm run build
EXPOSE 3000
CMD ["npm", "start"]
OUTPUT
: