【Docker项目实战】使用Docker部署Seatsurfing预订座位系统
一、Seatsurfing介绍
1.1 Seatsurfing简介
- Seatsurfing简介
Seatsurfing是一个在线预订座位系统,旨在帮助用户轻松预订座位并管理他们的座位安排。通过Seatsurfing,用户可以预订各种场所的座位,包括餐厅、影院、演出场所等。用户可以根据场所、日期和时间来浏览可用的座位,并根据自己的需求选择合适的座位。
1.2 Seatsurfing使用场景
-
电影院预订座位:用户可以通过Seatsurfing预订座位系统选择电影和场次,并在座位图上选择自己喜欢的座位。系统会实时显示剩余座位数量和已被预订的座位,帮助用户快速选择并预订座位。
-
餐厅预订座位:用户可以通过Seatsurfing预订座位系统选择餐厅和就餐时间,并在餐厅平面图上选择自己喜欢的座位。系统会实时显示剩余座位数量和已被预订的座位,帮助用户快速选择并预订座位。
-
演唱会/音乐会预订座位:用户可以通过Seatsurfing预订座位系统选择演唱会或音乐会,并在座位图上选择自己喜欢的座位。系统会实时显示剩余座位数量和已被预订的座位,帮助用户快速选择并预订座位。
-
会议/研讨会预订座位:用户可以通过Seatsurfing预订座位系统选择会议或研讨会,并在座位图上选择自己喜欢的座位。系统会实时显示剩余座位数量和已被预订的座位,帮助用户快速选择并预订座位。
-
高铁/飞机预订座位:用户可以通过Seatsurfing预订座位系统选择高铁或飞机班次,并在座位图上选择自己喜欢的座位。系统会实时显示剩余座位数量和已被预订的座位,帮助用户快速选择并预订座位。
二、本地环境介绍
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为centos7.6。
hostname | IP地址 | 操作系统版本 | Docker版本 |
---|---|---|---|
jeven | 192.168.3.166 | centos 7.6 | 2 20.10.17 |
2.2 本次实践介绍
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署Seatsurfing预订座位系统。
三、本地环境检查
3.1 检查Docker服务状态
检查Docker服务是否正常运行,确保Docker正常运行。
[root@jeven ~]# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2024-01-26 05:15:49 CST; 13h ago
Docs: https://docs.docker.com
Main PID: 8603 (dockerd)
Tasks: 15
Memory: 1.8G
CGroup: /system.slice/docker.service
└─8603 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
3.2 检查Docker版本
检查Docker版本,当前Docker版本为20.10.17。
[root@jeven ~]# docker -v
Docker version 20.10.17, build 100c701
3.3 检查docker compose 版本
检查Docker compose版本,确保2.0以上版本。
[root@jeven ~]# docker compose version
Docker Compose version v2.6.0
四、部署Seatsurfing应用
4.1 创建部署目录
创建CodeX Docs部署目录/data/seatsurfing
mkdir -p /data/seatsurfing && cd /data/seatsurfing
4.2 编辑docker-compose.yaml文件
本次实践部署使用docker compose方式,编辑docker-compose.yaml文件。
version: '3.7'
services:
server:
image: seatsurfing/backend
restart: always
networks:
sql:
http:
ports:
- 8080:8080
environment:
POSTGRES_URL: 'postgres://seatsurfing:DB_PASSWORD@db/seatsurfing?sslmode=disable'
JWT_SIGNING_KEY: 'some_random_string'
BOOKING_UI_BACKEND: 'booking-ui:3001'
ADMIN_UI_BACKEND: 'admin-ui:3000'
booking-ui:
image: seatsurfing/booking-ui
restart: always
networks:
http:
admin-ui:
image: seatsurfing/admin-ui
restart: always
networks:
http:
db:
image: postgres:12
restart: always
networks:
sql:
volumes:
- db:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: DB_PASSWORD
POSTGRES_USER: seatsurfing
POSTGRES_DB: seatsurfing
volumes:
db:
networks:
sql:
http:
4.3 拉取Seatsurfing所需镜像
执行以下命令,提前拉取Seatsurfing所需镜像。
docker compose pull
4.4 创建Seatsurfing容器
使用docker-compose.yaml文件创建Seatsurfing容器
[root@jeven seatsurfing]# docker compose up -d
[+] Running 7/7
⠿ Network seatsurfing_http Created 0.1s
⠿ Network seatsurfing_sql Created 0.1s
⠿ Volume "seatsurfing_db" Created 0.0s
⠿ Container seatsurfing-booking-ui-1 Started 1.2s
⠿ Container seatsurfing-admin-ui-1 Started 1.3s
⠿ Container seatsurfing-db-1 Started 1.1s
⠿ Container seatsurfing-server-1 Started 1.3s
4.5 检查Seatsurfing容器状态
检查Seatsurfing容器状态,确保Seatsurfing容器正常启动。
[root@jeven seatsurfing]# docker compose ps
NAME COMMAND SERVICE STATUS PORTS
seatsurfing-admin-ui-1 "/nodejs/bin/node se…" admin-ui running 3000/tcp
seatsurfing-booking-ui-1 "/nodejs/bin/node se…" booking-ui running 3001/tcp
seatsurfing-db-1 "docker-entrypoint.s…" db running 5432/tcp
seatsurfing-server-1 "./main" server running 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp
4.6 检查Seatsurfing容器日志
检查Seatsurfing容器运行日志,确保Seatsurfing服务正常运行。
[root@jeven seatsurfing]# docker compose logs |grep 8080
seatsurfing-server-1 | 2024/01/30 12:09:27 HTTP Server listening on 0.0.0.0:8080
五、访问Seatsurfing首页
六、Seatsurfing的基本使用
6.1 确认预定房间
在预定空间的样板展示中,点击选中房间,确认预定。
6.2 查看预定情况
点击“My bookings”,查看我的预定情况。
6.3 偏好设置
点击偏好设置,可以对通知、工作时间、工作日、预定颜色、首选区域、更改密码等进行设置。
6.4 管理功能
进入Seatsurfing管理功能,可以对Seatsurfing进行相关管理设置工作。例如上传设计图、设置组织名称等。
七、总结
Seatsurfing是一个在线座位预订系统,方便用户预订机票、火车票和剧院票等各种座位。该系统提供简单快捷的预订流程,用户可以浏览、选择和预订座位。它还提供实时座位图,以便用户清晰地了解当前座位情况和可预订的座位类型。借助Seatsurfing,我可以根据自己的喜好选择最合适的座位。这个系统不仅简化了预订流程,还提供了实时座位信息,使我能轻松参加各种活动。我强烈推荐Seatsurfing给那些需要预订座位的人。
- 点赞
- 收藏
- 关注作者
评论(0)