后端的业务: spring boot不能单独部署tomcat,已经在spring boot中内置tomcat
准备拉取基础centos镜像
jdk17版本的文件
项目资源.war .. perpreties
将在服务器上的Java的资源文件上传到容器
对已经上传到容器的文件进行部署 docker attach 57
tar -xzvf jdk-17_linux-x64_bin.tar.gz -C /usr/local/jdk/ --strip-components=1
尝试启动
**数据持久化业务:**MySQL5.7.44
前端
(1)创建nginx容器
root@docker \~# docker run -itd -p80:80 nginx:latest
javascript复制代码
[root@docker ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
56c77a78a1c1 nginx:latest "/docker-entrypoint...." 40 seconds ago Up 39 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp admiring_banach
root@docker \~# docker exec -it 56 ls /usr/share/nginx/html
[root@573bb9975f03 /]# ls
Project_ExamSystem-V1.0.0.war lib64 sbin
application.properties lost+found srv
bin media sys
dev mnt tmp
etc opt usr
home proc var
jdk-17_linux-x64_bin.tar.gz root
lib run
(5)创建jdk解压目录
root@573bb9975f03 /# mkdir /usr/local/jdk
(6)解压jdk包
root@573bb9975f03 /# tar -xzvf jdk-17_linux-x64_bin.tar.gz -C /usr/local/jdk/ --strip-components=1
REPOSITORY TAG IMAGE ID CREATED SIZE
java v0 b27ef2926644 6 seconds ago 774MB
(10)删除掉上面的57容器
root@docker \~# docker stop 57
57
root@docker \~# docker rm 57
57
(11)根据新建的镜像创建镜像
root@docker \~# docker run -itd -p8080:8080 java:v0 /usr/local/jdk/bin/java -jar Project_ExamSystem-V1.0.0.war
root@docker \~# docker ps
bash复制代码
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7f42f4f5381a java:v0 "/usr/local/jdk/bin/..." 6 seconds ago Up 5 seconds 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp happy_hodgkin
root@docker \~# docker stop 7f
7f
root@docker \~# docker rm 7f
7f
(12)重新创建容器
root@docker \~# docker run -itd -p8080:8080 java:v0
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2cd9c0255569 java:v0 "/bin/bash" 12 seconds ago Up 12 seconds 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp beautiful_haslett
881bf9bd6627 nginx:latest "/docker-entrypoint...." About an hour ago Up About an hour 0.0.0.0:80->80/tcp, :::80->80/tcp goofy_agnesi
root@docker \~# docker run -itd -e MYSQL_ROOT_PASSWORD=root -p3306:3306 mysql:5.7.44
root@docker \~# docker ps
bash复制代码
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
408f1e6cec5b mysql:5.7.44 "docker-entrypoint.s..." 4 seconds ago Up 4 seconds 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp pedantic_solomon
root@docker project_exam_system# head mysql/project_exam_system.sql
bash复制代码
create database if not exists project_exam_system charset utf8mb4;
use project_exam_system;
/*
Navicat MySQL Data Transfer
Source Server : MySQL84
Source Server Type : MySQL
Source Server Version : 80400
Source Host : localhost:3308
Source Schema : project_exam_system
root@docker java# docker run -it -p8081:8080 java:v1 /bin/bash
root@1ef5404323e8 /# ls
Delphi复制代码
Project_ExamSystem-V1.0.0.war home media run usr
application.properties java.sh mnt sbin var
bin lib opt srv
dev lib64 proc sys
etc lost+found root tmp