折腾服务器:Docker 项目打包发布 + 一键部署多个应用
博客原文:github server-docker-deploy
最近在折腾 docker,可实现本地一键同时部署多个应用
完全不了解 docker 的建议先看 官方文档 哦~
主要流程
-
开发完项目后,将项目用 docker 打包成镜像,推到 DockerHub 上
-
服务器配置好多个应用的 docker-compose 和 nginx 反向代理文件
-
本地与远程做连接,用
免交互
登录服务器拉取镜像并部署服务
本地配置
一、下载 docker
- Mac 可直接用
brew
下载
brew cask install docker
- Windows 请参考官网,在此不做过多讲解
- 启动 docker
二、docker 配置
本文以打包 next-learn 服务端渲染 项目为例,需要的请自行查看
- 项目中创建 Dockerfile
# 拉取 node 镜像,alpine 版本包最小
FROM node:10-alpine
# 设置 maintainer
LABEL maintainer "your_email@example.com"
# 将当前项目拷贝到镜像中的 /app 文件中
COPY . /app
# 设置 /app 为工作区
WORKDIR /app
# 执行命令
RUN yarn \
&& yarn build \
&& yarn cache clean
# 执行运行命令
CMD ["yarn","start"]
# 暴露出 3000 端口
EXPOSE 3000
- 创建 .dockerignore
这个没啥说的,防止将不必要的文件拷贝进 container 中
node_modules
yarn.lock
package-lock.json
build
dist
- 创建 npm 命令
"scripts": {
"docker:build": "docker build -t lawl