首页 > 解决方案 > 为开发目的实时运行应用程序

问题描述

我是 Docker 的初学者,我正在尝试在容器中运行我的源代码,并将我的源代码文件夹设置为 Volume,以便能够实时修改源代码。

我的源代码是一个入门角度应用程序

所以我目前的回购包含:

DockerFile
angular-app/

#Docker 文件:

FROM node:latest
LABEL author="Karim"

RUN npm install -g @angular/cli

WORKDIR /var/www/angular-app

ENTRYPOINT ["npm","start"]

在这个仓库中我运行:

> docker build -t angular-image .
> docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
angular-image       latest              fcbcf2d10c65        58 minutes ago      989MB

> docker run -p 1000:4200 -v "C:\Users\k.garali\Desktop\Docker\angular-app-image/angular-app":/var/www/angular-app angular-image


> angular-app@0.0.0 start /var/www/angular-app
> ng serve


chunk {main} main.js, main.js.map (main) 56.9 kB [initial] [rendered]
chunk {polyfills} polyfills.js, polyfills.js.map (polyfills) 141 kB [initial] [rendered]
chunk {runtime} runtime.js, runtime.js.map (runtime) 6.15 kB [entry] [rendered]
chunk {styles} styles.js, styles.js.map (styles) 12.5 kB [initial] [rendered]
chunk {vendor} vendor.js, vendor.js.map (vendor) 2.38 MB [initial] [rendered]
Date: 2020-10-07T16:27:10.277Z - Hash: 17160092220a366bdbcb - Time: 18247ms
** Angular Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/ **
: Compiled successfully.

> docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS
    PORTS                    NAMES
7f9a2185636d        angular-image       "npm start"         2 seconds ago       Up 2 seconds
    0.0.0.0:1000->4200/tcp   fervent_morse

但是最后当我在浏览器中访问 localhost:1000 时,我没有得到任何响应 ERR_EMPTY_RESPONSE

任何澄清?

标签: angulardocker

解决方案


我还没有创建很多 docker 文件。但据我所知,您并没有将 Angular 应用程序复制到您的 docker 文件中。

  1. 你有你的工作目录,但你没有将你的 Angular Build 复制到你的容器中。

  2. 我假设 Angular 在本地运行时有自己的端口,它运行在它上面,就像 React 在端口 3000 上运行一样。你需要公开那个端口。

  3. 您也可以在 docker 文件之外运行 Angular 文件的构建,然后复制完成的构建文件。

这是我可以在网上找到的示例

更新示例

# Base image
FROM node:10

# Maintainer name
LABEL author="Karim"

# Copying angular folder from local directory to working directory
COPY angular /var/www/angular-app

# Installing Angular cli and node modules in angular directory
RUN     npm install -g @angular/cli &&\
        cd /usr/local/educative/angular &&\
        npm i

EXPOSE 3000

https://www.education.io/collection/page/6630002/6070327361667072/5257048661950464


推荐阅读