Dockerfile 的内容
FROM nginx
WORKDIR /mywebapp
COPY ./dist /usr/share/nginx/html/
-
第一行 使用 nginx 作为基本镜像构建
-
第二行 将工作目录设置为 mywebapp 没有此目录会自动创建
-
第三行 将 dist 目录拷贝到/usr/share/nginx/html/ 补充说明:这里的/usr/share/nginx/html/ 是 nginx 的默认 web 服务映射路径,只要存到这里的东西,开启服务后都可以访问的到
构建docker镜像
docker build -t mydockerimage .
运行刚构建的镜像(主机端口/容器端口)
docker run -d -p 8090:80 mydockerimage
-
这是最简单的将一个静态资源包做成一个镜像,进行部署并通过浏览器访问,通过当前安装docker的主机+8090端口就可以正常访问,(192.168.1.1:8090)
复杂一点的使用:使用 nodejs 作为镜像,复制 package.json 到工作目录 webmaze,安装依赖包,将项目源码放到 webmaze 目录,编译完成后,已 nginx 作为基础镜像,将编译后的./dist 存放到/usr/share/nginx/html/中,此时dockerfile内容如下:
FROM node:10-alpine as builder
WORKDIR /webmaze
COPY package.json /code
RUN npm install --registry=https://registry.npm.taobao.org
ADD . /code
RUN npm run build
FROM nginx:10-alpine
COPY ./dist /usr/share/nginx/html/