在部署Angular生产环境之前,需要电脑已经安装docker。

添加Dockerfile
在已经完成的Angular项目的项目根目录下添加Dockerfile文件。

Dockerfile文件内容:

FROM nginx:1.11-1.11-alpine
COPY index.html /usr/share/nginx/html/index.html
EXPOSE
CMD ["nginx", "-g", "daemon off;"]

编译Angular
ng build --prod
此时会在项目目录下生成dist文件夹,里面是我们项目打包之后的文件。

然后将Dockerfile文件复制到dist目录下,并修改。

FROM nginx:1.11-1.11-alpine
COPY . /usr/share/nginx/html/index.html
EXPOSE
CMD ["nginx", "-g", "daemon off;"]

然后进入dist目录下

cd dist

创建docker镜像
docker build -t angular5
查看当前所有镜像和运行的容器
docker images

# 显示结果

REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest c5c4e8fa2cf7 days ago 109MB
angular5 latest 3c493d859707 days ago .6MB
nginx 1.11-alpine bedece1f06cc months ago .3MB

docker ps
# 显示结果
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

运行镜像
端口不要和本地端口冲突,比如如果8082被使用,请更换
docker run -d --name demo1 -p 8082:80 angular5
# 成功结果
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bddc01ddf0a3 nginx "nginx -g 'daemon of…" 1 minutes ago Up 3 seconds 0.0.0.0:8082->80/tcp demo1

浏览器访问:127.0.0.1:8082即可访问。

停止运行
docker stop bddc01ddf0a3 # 这个是id可以使用前几位,或者使用NAMES demo1
启动一个容器
docker ps -a #查看所有容器
docker start bddc01ddf0a3 #或者名字

Docker+Nginx部署Angular的更多相关文章

  1. nginx部署angular

    官方部署教程 本文将angular官网的示例项目 heroes(英雄指南) 部署到nginx. 使用angular cli编译项目 ng build 执行完成后会生成一个 dist 目录. 服务器配置 ...

  2. Linux +Docker +Nginx 部署代理转发初探

    很多开发人员仅仅只会码代码,如果让开发人员部署一些深入点的东西,或者做负载均衡等,很多开发人员估计就懵逼了,作为一个专业的开发还需要懂一些基本的运维知识:虽然说在互联网行业中,中小企业都有一个牛逼的运 ...

  3. docker nginx部署.net core后端站点和angular前端站点

    首先声明,服务器是linux 版本是ubuntu server 18.04,不是windows server.windows server 2016放弃治疗了,2019可能会有改善,不过云厂商的公共镜 ...

  4. docker + nginx 部署vuejs3.0项目

    1:用指令 npm run build 打包vusjs项目(该项目是在github上下载的).打包成功后会生成一个目录dist. 2:把该文件夹拷贝到腾讯云服务器(操作系统 centos7)下的/us ...

  5. Centos8 Docker+Nginx部署Asp.Net Core Nginx正向代理与反向代理 负载均衡实现无状态更新

    首先了解Nginx 相关介绍(正向代理和反向代理区别) 所谓代理就是一个代表.一个渠道: 此时就涉及到两个角色,一个是被代理角色,一个是目标角色,被代理角色通过这个代理访问目标角色完成一些任务的过程称 ...

  6. docker+nginx部署静态网页(html)

    我看了下网上都是部署单个.html页面的实例.所以今天试试多个.html文件的部署. 因为之前docker部署过vue.js打包的项目,所以按上次部署方式部署.结果还真行,只是这次部署的是小滴课堂上的 ...

  7. Docker Nginx部署

    1.下载nginx镜像 docker pull nginx 2.创建nginx配置文件 vim /etc/nginx/nginx.conf user nginx; worker_processes 1 ...

  8. Angular + Github action + Nginx 部署

    在常规 Web 的开发流程之中,当开发步入尾声时就需要部署应用到服务器上,Angular 部署上还算简单.经过测试,部署平均用时在5分钟左右,主要受限于 GitHub 海外服务器的网速. 一.Angu ...

  9. 使用Docker 一键部署 LNMP+Redis 环境

    使用Docker 部署 LNMP+Redis 环境 Docker 简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linu ...

随机推荐

  1. 使用Eclipse自带的Axis1插件生成Web Service服务端客户端

    JDK版本:1.5.0_22 Eclipse版本:Helios Service Release 2(3.6.2) WSDL文件的创建过程见http://blog.csdn.net/a19881029/ ...

  2. mysql 批量kill

    select concat('kill ',id,';') t  from information_schema.processlist  order by t

  3. Android: protecting the kernel

    Linux内置安全机制 Address space separation/process isolation unix permissions DAC capabilities SELinux sec ...

  4. spacemacs conf

    > da100 src $ cat ~/.spacemacs (defun dotspacemacs/layers () (setq-default dotspacemacs-distribut ...

  5. PHP 设计模式系列 —— 工厂方法模式(Factory Method)(转)

    1.模式定义 定义一个创建对象的接口,但是让子类去实例化具体类.工厂方法模式让类的实例化延迟到子类中. 2.问题引出 框架需要为多个应用提供标准化的架构模型,同时也要允许独立应用定义自己的域对象并对其 ...

  6. 百练8216-分段函数-2016正式A题

    百练 / 2016计算机学科夏令营上机考试 已经结束 题目 排名 状态 统计 提问   A:分段函数 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 编写程序 ...

  7. WCF 添加服务引用 HTTP 请求已超过为 00:00:00 分配的超时。为此操作分配的时间可能是较长超时

    今天在用公司的笔记本引用WCF的时候,处于一直等待的过程,一直在下载信息,一直等了很长时间,弹出了一个消息 下载“http://ip:8085/xxxxx/xxxxx/mex/$metadata”时出 ...

  8. 简易计算器的java实现

    伪代码 public class MainTestwei { 定义两个数组,List<Double> number和 List<Character>calculation分别用 ...

  9. 06 面向对象:多态&抽象类&接口&权限修饰符&内部类

    多态: /* 多态(polymorphic)概述 * 事物存在的多种形态 多态前提 * a:要有继承关系. * b:要有方法重写. * c:要有父类引用指向子类对象. * 成员变量 * 编译看左边(父 ...

  10. Python--subprocess系统命令模块-深入

    当我们运行python的时候,我们都是在创建并运行一个进程.正如我们在Linux进程基础中介绍的那样,一个进程可以fork一个子进程,并让这个子进程exec另外一个程序.在Python中,我们通过标准 ...