1、安装docker并启动
yum -y update
yum install -y docker
service docker start
2、安装镜像
执行镜像加速
3.安装mysql、redis
$ docker pull mysql:latest
$ docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
安装完成之后本地连接mysql,执行初始化脚本即可
4、项目中集成docker插件和Dockerfile
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!-- 如果没有该配置,devtools不会生效 -->
<fork>true</fork>
</configuration>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<imageName>${docker.image.prefix}/${project.artifactId}</imageName>
<dockerDirectory>src/main/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>
修改配置文件,修改mysql、redis链接
Dockerfile文件
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD ruoyi.jar ruoyi.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/ruoyi.jar"]
这里可以换成java:8,alpine版本会缺失某部分字体导致空指针
5、打包镜像
docker build -t ${镜像名} .
#-d表示后台运行
docker run -p 8888:8080 -d ${镜像名}
6、安装node、npm并修改服务端代理
7、打包正式环境
npm run build:prod
完成后会生成一个dist文件夹
8、编写前端的dockerfile文件(会自动拉取nginx镜像)
FROM nginx
#宿主机器下nginx.conf替换容器内的
COPY nginx.conf /etc/nginx/nginx.conf
COPY dist/ /usr/vuejs/nginx/
9、编写nginx.conf(关键配置已经标红)
同理,打包镜像,并执行
10、镜像和运行容器展示
镜像:
运行容器
11、效果展示
http://111.229.33.207:8888
admin/admin123