赞
踩
假设我们已经开发好一个SpringBoot项目
部署一般是用云服务器解决,比如
然后当我们已经拥有一部服务器之后,我们就可以开始部署了,首先我们我们需要安装docker
# 安装Docker
yum -y install docker
# 启动docker
systemctl start docker
开启远程docker服务
# 修改docker配置文件 vim /lib/systemd/system/docker.service # 在ExecStart=后添加配置,远程访问docker的端口 为2375 ExecStart=/usr/bin/dockerd-current -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock \ --add-runtime dockerrunc=/usr/libexec/docker/docker-runccurrent \ --default-runtime=docker-runc \ --exec-opt native.cgroupdriver=systemd \ --userland-proxypath=/usr/libexec/docker/docker-proxycurrent \ --initpath=/usr/libexec/docker/docker-initcurrent \ --seccompprofile=/etc/docker/seccomp.json \ $OPTIONS \ $DOCKER_STORAGE_OPTIONS \ $DOCKER_NETWORK_OPTIONS \ $ADD_REGISTRY \ $BLOCK_REGISTRY \ $INSECURE_REGISTRY \ $REGISTRIES # 重启docker systemctl daemon-reload systemctl restart docker
安全组中开放3306,2375两个端口
# 拉取mysql镜像
docker pull mysql:5.7
# 启动容器
docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7
使用Navicat/datagrid导入数据库
项目中Pom文件中添加一下配置
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>2.7.0</version> <configuration> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> </configuration> </plugin> <!-- docker-maven-plugin--> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.2.2</version> <configuration> <!-- Docker路径 localhost改成自己的服务器公网地址--> <dockerHost>http://localhost:2375</dockerHost> <!-- Dockerfile定义 --> <baseImage>openjdk:11</baseImage> <!-- 作者 --> <maintainer>zhz</maintainer> <resources> <resource> <!-- 复制jar包到docker容器指定目录 --> <targetPath>/</targetPath> <!-- 从哪个包拷贝文件,target包 --> <directory>${project.build.directory}</directory> <!-- 拷贝哪个文件 --> <include>${project.build.finalName}.jar</include> </resource> </resources> <workdir>/</workdir> <entryPoint>["java", "-jar", "${project.build.finalName}.jar"]</entryPoint> <forceTags>true</forceTags> <!-- 镜像名 --> <imageName>${project.artifactId}</imageName> <!-- 镜像版本 --> <imageTags> <imageTag>${project.version}</imageTag> </imageTags> </configuration> </plugin> </plugins> </build>
这里我用8080是因为我的本地服务有redis,已经占用80端口了
docker run -d -p 8080:80 gowt-travel:1.0.0-SNAPSHOT
我们可以发现我已经可以访问了。
进入域名映射系统,比如我的用的是阿里云的。
进入其中点击解析,这里要配两个
我是zhz小白,一个在互联网行业的小白,立志成为一名架构师
https://blog.csdn.net/zhouhengzhe?t=1
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。