关于Docker的一些理解
最近工作上在使用Docker打包服务
所以有一些理解记录在此
-
定义
作为一个容器包含了其内部自己的运行环境,与外界隔离。
-
Dockerfile
- 根镜像为nginx
- 把当前目录的dist文件copy至容器内/usr/xxx/html路径
- 覆盖原nginx默认配置
- 暴露80端口
- 启动nginx
FROM nginx COPY dist /usr/share/nginx/html COPY build/nginx.conf /etc/nginx/conf.d/default.conf EXPOSE 80 CMD ["nginx", "-g", "daemon off;"] -
打包前端项目至dist目录
npm run build -
打包docker镜像
docker build -t test .以根目录为准打包为镜像test
-t:镜像的名字 -
运行
在本地利用docker启动一个端口和内部监听端口对应
docker run -d -p 4002:80 imagename在本地启动4002端口映射到docker容器的内部端口
-d: 后台运行容器,并返回容器ID(不占用你的一个cmd窗口)-p:端口映射,格式为:主机(宿主)端口:容器端口
之后在本地访问4002端口便可以看到你的dist的内容了