使用三更的博客项目进行部署测试
安装Mysql
安装前明确需求
使用的镜像是mysql5.7
后台运行 -d
数据需要持久化存储 -v 使用别名mysql_data
开放3306端口 -p
设置root的密码 -e
停止后自动重启 –restart
加入一个网络 –network
容器命名为blog_mysql
1docker run -d \
2-v mysql_data:/var/lib/mysql \
3-p 3306:3306 \
4-e MYSQL_ROOT_PASSWORD=PaiTcgDK0VUZCM \
5--restart always \
6--network blog_net \
7--name blog_mysql \
8mysql:5.7
安装Redis
安装前明确需求
- 版本 redis 7
- 后台运行
- 开启aof持久化
- 数据需要持久化存储 redis-server –appendonly yes
- 开放端口
- 停止后自动重启
- 容器命名为blog_reids
- 加入网络 blog_net
1docker run -d \
2-v reids_data:/data \
3-p 6379:6379 \
4--restart always \
5--name blog_redis \
6--network blog_net \
7redis:7.0 redis-server --appendonly yes
安装OpenJDK 运行jar包
需求
- openjdk 8u111版本
- 后台运行 -d
- 端口为7777 -p
- 使用数据卷用于存放jar包 -v
- 退出后重新运行 –restart
- 加入blog_net 网络 –network
- 容器名字是 sb_blog –name
1docker run \
2-p 7777:7777 \
3-d \
4-v /usr/blog:/usr/blog \
5--restart always \
6--network blog_net \
7--name sg_blog \
8java:openjdk-8u111 java -jar /usr/blog/sangeng-blog-1.0-SNAPSHOT.jar
使用上面的方式启动会报错,因为没有设置数据库和redis的连接方式
1docker run \
2-p 7777:7777 \
3-d \
4--network blog_net \
5-v /usr/blog:/usr/blog \
6--restart always \
7--name sg_blog \
8java:openjdk-8u111 java -jar /usr/blog/sangeng-blog-1.0-SNAPSHOT.jar \
9"--spring.datasource.url=jdbc:mysql://blog_mysql:3306/sg_blog?characterEncoding=utf-8&serverTimezone=Asia/Shanghai" \
10"--spring.datasource.username=root" \
11"--spring.datasource.password=1234" \
12"--spring.redis.host=blog_redis" \
使用nginx部署前端项目
分析需求
- 后台运行 -d
- 开放端口 -p
- 使用数据卷的方式同步静态资源 -v
- 停止后自动重启 –restart
- 容器命名sg_blog_vue
1docker run -d \
2-p 80:80 \
3-v /usr/blog/sg-blog-vue/dist:/usr/share/nginx/html \
4--restart always \
5--name sg_blog_vue \
6nginx:1.21.5