安装docker
# 1、yum 包更新到最新
yum update
# 2、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
# 3、 设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 4、 安装docker,出现输入的界面都按 y
yum install -y docker-ce
# 5、 查看docker版本,验证是否验证成功
docker -v
#启动docker
/bin/systemctl start docker.service
拉取镜像
docker pull java:8
后端打包
加入插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
点击 package进行打包,生成jar包
编写dockerfile文件
FROM java:8
EXPOSE 8900 #暴露8900端口
ADD blog_api.jar app.jar #使用blog_api.jar命名为app
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-jar","/app.jar","--spring.profiles.active=prod"] #使用prod.properties配置文件
application-prod.properties
对应的localhost改成docker-compose里写的服务名
编写 docker-compose.yml文件
version: '3'
services:
nginx:
image: nginx
container_name: nginx
ports:
- 80:80
- 443:443
links:
- app
depends_on:
- app
volumes:
- /mnt/docker/docker-compose/nginx/:/etc/nginx/
- /mnt/peppa/web:/peppa/web
- /mnt/peppa/blog:/peppa/blog
privileged: true #解决文件调用权限
network_mode: "bridge" #设置网络模式,确保在一个网络下
mysql:
image: mysql:5.7.27
ports:
- 3306:3306
environment:
- MYSQL_ROOT_PASSWORD=admin
redis:
image: redis:latest
app:
image: app
container_name: app
ports:
- 8900:8900
network_mode: "bridge"
前端
前端VUE项目
修改对应接口地址后
进行打包
npm run build
nginx
修改 root 路径为 linux服务器上 前端打包好的存放路径