> For the complete documentation index, see [llms.txt](https://moluo.gitbook.io/notes/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://moluo.gitbook.io/notes/bian-cheng-xue-xi/bu-shu-yun-wei-xu-ni-hua/docker/10.5.docker-bu-shu-angular-xiang-mu.md).

# 10.5.docker部署angular项目

## 编辑angular项目中的package.json

package.json

```javascript
  "scripts": {
    "ng": "ng",
    "start": "ng serve --proxy-config proxy.conf.json --port 4200",
    // "build": "ng build --prod --outputPath=dist/mo --base-href=/mo/",
    "build": "ng build --prod --outputPath=dist --base-href=/",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
```

## 添加Dockerfile

Dockerfile

```
FROM nginx:1.16.1
COPY dist /usr/share/nginx/html
WORKDIR /usr/share/nginx/html
CMD ["nginx", "-g", "daemon off;"]
```

## 构建镜像

```bash
docker build -t mo-web:0.0.1 .
```

## 创建nginx配置

```bash
mkdir -p /etc/moweb/conf.d
vi /etc/moweb/conf.d/default.conf
```

```bash
server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location /mo/v1/ {
        proxy_pass http://172.17.0.1:9000/mo/v1/;
        #proxy_set_header X-Real-IP $remote_addr;
        #proxy_set_header Host $host;
        #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}
```

## 运行容器

```bash
docker run --name mo-web -d -p 4200:80 -v /etc/moweb/conf.d:/etc/nginx/conf.d mo-web:0.0.1
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://moluo.gitbook.io/notes/bian-cheng-xue-xi/bu-shu-yun-wei-xu-ni-hua/docker/10.5.docker-bu-shu-angular-xiang-mu.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
