手把手教你用docker搭建一个前后端项目

krauser1991 1年前 ⋅ 2386 阅读
ad

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

关于Webfunny

Webfunny专注于前端监控系统,前端埋点系统的研发。 致力于帮助开发者快速定位问题,帮助企业用数据驱动业务,实现业务数据的快速增长。支持H5/Web/PC前端、微信小程序、支付宝小程序、UniApp和Taro等跨平台框架。实时监控前端网页、前端数据分析、错误统计分析监控和BUG预警,第一时间报警,快速修复BUG!支持私有化部署,Docker容器化部署,可支持千万级PV的日活量!

  点赞 0   收藏 0
  • krauser1991
    共发布1篇文章 获得0个收藏
全部评论: 0