【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给那些需要预订座位的人。

相关文章
|
1天前
|
关系型数据库 分布式数据库 PolarDB
PolarDB产品使用合集之关于在Docker环境中部署和维护PolarDB-X,有相关文章可以参考吗
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
2天前
|
缓存 运维 Serverless
Serverless 应用引擎产品使用之在阿里云函数计算中使用Docker进行部署函数如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
6 0
|
4天前
|
数据库 Nacos Docker
基于docker-compose部署微服务基本环境
基于docker-compose部署微服务基本环境
7 0
|
5天前
|
消息中间件 Kafka Docker
docker部署kafka
docker部署kafka
26 1
|
5天前
|
算法 Nacos Docker
docker部署nacos集群
docker部署nacos集群
14 0
|
5天前
|
消息中间件 Kafka Docker
【消息中心】docker部署kafka
【消息中心】docker部署kafka
16 0
|
5天前
|
Java 应用服务中间件 Docker
【Docker】部署启动java项目
【Docker】部署启动java项目
13 2
|
3天前
|
存储 监控 安全
【专栏】Docker Compose:轻松实现容器编排的利器
【4月更文挑战第27天】Docker Compose是款轻量级容器编排工具,通过YAML文件统一管理多容器应用。本文分三部分深入讨论其核心概念(服务、网络、卷和配置)、使用方法及最佳实践。从快速入门到高级特性,包括环境隔离、CI/CD集成、资源管理和安全措施。通过案例分析展示如何构建多服务应用,助力高效容器编排与管理。
|
3天前
|
存储 Kubernetes C++
【专栏】Kubernetes VS Docker Swarm:哪个容器编排工具更适合你?
【4月更文挑战第27天】对比Kubernetes和Docker Swarm:K8s在可扩展性和自动化方面出色,有强大社区支持;Swarm以简易用著称,适合初学者。选择取决于项目需求、团队技能和预期收益。高度复杂项目推荐Kubernetes,快速上手小项目则选Docker Swarm。了解两者特点,助力选取合适容器编排工具。
|
3天前
|
Cloud Native Linux 开发者
【Docker】Docker:解析容器化技术的利器与在Linux中的关键作用
【Docker】Docker:解析容器化技术的利器与在Linux中的关键作用