创建网站模板,网络营销培训课程,厦网站建设培训,淄博网站制作企业高端使用Docker部署js前端
1.创建Dockerfile
在项目跟目录下创建Dockerfile文件#xff1a;
# 使用nginx作为基础镜像
FROM nginx:1.19.1# 指定工作空间
WORKDIR /data/web# 将 yarn build 打包后的build文件夹添加到工作空间
ADD build build# 将项目必要文件添加到工作空间
# 使用nginx作为基础镜像
FROM nginx:1.19.1# 指定工作空间
WORKDIR /data/web# 将 yarn build 打包后的build文件夹添加到工作空间
ADD build build# 将项目必要文件添加到工作空间这里我们把nginx配置文件维护在项目里部署时直接移动配置文件就不需要在去处理nginx配置了
COPY ./config/nginx.conf /etc/nginx/conf.d/default.conf# 暴露80端口
EXPOSE 80# 启动nginx要用前台启动
ENTRYPOINT [nginx, -g, daemon off;] 2.打包项目代码
假设使用yarn构建的前端
yarn build3.打包镜像
打包最新镜像镜像名为webtag为latest
docker build -t web:latest . 查看打包好的镜像
docker images 4.启动容器
使用镜像web:latest启动容器容器名称为my-web端口映射到8000
docker run -d --name my-web -p 8000:80 web:latest查看运行中的容器
docker ps最后直接在浏览器打开 ip:8000就可以看到web页面了
使用Docker部署后端
后端打包就更简单了它不需要nginx环境直接运行二进制文件就行
1.创建Dockerfile
在项目跟目录下创建Dockerfile文件
# 使用centos作为基础镜像
FROM centos# 指定工作空间
WORKDIR /data/service# 将项目必要文件添加到工作空间
ADD config config
ADD template template# 将服务打包后的二进制文件添加到工作空间
ADD admin-api admin-api# 运行二进制文件启动服务
ENTRYPOINT [./admin-api]
2.打包镜像启动容器
除了dockerfile不一样打包镜像和启动容器都是一样的
# 打包项目代码
go build# 打包镜像
docker build -t admin-api:latest . # 查看打包好的镜像
docker images # 使用镜像admin-api:latest启动容器容器名称为admin-api端口映射到8001
docker run -d --name admin-api -p 8001:80 admin-api:latest# 查看运行中的容器
docker ps
以上是docker的简单使用示例在实际运用过程中我们还可以把项目打包过程写进dockerfile或结合ci让gitlab-runner来进行项目打包。打包出来的镜像以版本号打个tag在镜像上用来区分不同版本的镜像还可以将镜像上传到公司的镜像仓库。在部署时可以用更高阶的容器编排工具来实现高可用分布式部署。后面有会慢慢更新这些内容。