【Docker项目实战】使用Docker部署Seatsurfing预订座位系统

简介: 【4月更文挑战第12天】使用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首页

访问地址:http://192.168.3.166:8080,将IP替换为自己服务器IP地址,进入到Seatsurfing首页。如果无法访问,则检查服务器防火墙是否设置,云服务器的安全组端口是否放行等。用户名admin@seatsurfing.local密码12345678

在这里插入图片描述

六、Seatsurfing的基本使用

6.1 确认预定房间

在预定空间的样板展示中,点击选中房间,确认预定。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.2 查看预定情况

点击“My bookings”,查看我的预定情况。

在这里插入图片描述

6.3 偏好设置

点击偏好设置,可以对通知、工作时间、工作日、预定颜色、首选区域、更改密码等进行设置。

在这里插入图片描述

6.4 管理功能

进入Seatsurfing管理功能,可以对Seatsurfing进行相关管理设置工作。例如上传设计图、设置组织名称等。

在这里插入图片描述

七、总结

Seatsurfing是一个在线座位预订系统,方便用户预订机票、火车票和剧院票等各种座位。该系统提供简单快捷的预订流程,用户可以浏览、选择和预订座位。它还提供实时座位图,以便用户清晰地了解当前座位情况和可预订的座位类型。借助Seatsurfing,我可以根据自己的喜好选择最合适的座位。这个系统不仅简化了预订流程,还提供了实时座位信息,使我能轻松参加各种活动。我强烈推荐Seatsurfing给那些需要预订座位的人。

相关文章
|
12天前
|
JSON JavaScript 测试技术
【Docker项目实战】使用Docker部署PPTist在线演示文稿应用
【10月更文挑战第9天】使用Docker部署PPTist在线演示文稿应用
23 1
【Docker项目实战】使用Docker部署PPTist在线演示文稿应用
|
2天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
46 2
|
3天前
|
弹性计算 数据库连接 Nacos
阿里云ECS服务器在docker中部署nacos
docker pull nacos 失败,docker部署nacos遇到的问题,nacos数据库连接,nacos端口映射
26 1
|
11天前
|
Web App开发 前端开发 测试技术
【Docker项目实战】使用docker部署tabler后台模版
【10月更文挑战第10天】使用docker部署tabler后台模版
27 0
【Docker项目实战】使用docker部署tabler后台模版
|
13天前
|
消息中间件 编解码 Docker
【Docker项目实战】Docker部署RabbitMQ消息中间件
【10月更文挑战第8天】Docker部署RabbitMQ消息中间件
31 0
【Docker项目实战】Docker部署RabbitMQ消息中间件
|
7天前
|
运维 Kubernetes 监控
掌握Docker容器化技术:构建、部署与管理的高效实践
【10月更文挑战第14天】掌握Docker容器化技术:构建、部署与管理的高效实践
24 0
|
8天前
|
关系型数据库 数据库 PostgreSQL
在docker上部署postgresSQL主从
通过以上步骤,我们完成了在Docker环境中部署PostgreSQL主从复制的基本配置。请注意,实际生产环境中还需考虑安全性增强(如SSL加密)、监控、自动故障切换等高级配置。此外,根据具体的业务需求和规模,可能还需要考虑使用更专业的解决方案或工具,如Patroni、PgBouncer等,来进一步提升数据库集群的稳定性和效率。
18 0
|
6天前
|
存储 Docker 容器
docker中挂载数据卷到容器
【10月更文挑战第12天】
26 5
|
2天前
|
存储 关系型数据库 MySQL
|
3天前
|
存储 Docker 容器
docker中挂载数据卷到容器
【10月更文挑战第13天】
10 2