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

相关文章
|
23小时前
|
Java Maven Docker
Docker化Spring Boot3应用:从镜像构建到部署
本文介绍了如何在Linux上通过命令行构建和运行Spring Boot 3服务的Docker镜像。首先,基于Ubuntu创建包含JDK 21的基础镜像,然后使用Maven打包Spring Boot应用。接着,构建服务镜像,将应用和依赖添加到镜像中,并设置工作目录和暴露端口。最后,利用docker-compose部署服务,挂载宿主机目录以方便更新静态文件。Docker简化了应用部署,确保了不同环境的一致性。
23 2
Docker化Spring Boot3应用:从镜像构建到部署
|
1天前
|
Cloud Native 搜索推荐 测试技术
云原生之使用Docker部署homarr个人导航页
【5月更文挑战第18天】云原生之使用Docker部署homarr个人导航页
15 1
|
2天前
|
Cloud Native 测试技术 数据库
【云原生之Docker实战】使用Docker部署flatnotes笔记工具
【5月更文挑战第17天】使用Docker部署flatnotes笔记工具
31 8
|
3天前
|
JSON 测试技术 定位技术
【好用的个人工具】在Docker环境下部署Simple mind map思维导图工具
【5月更文挑战第16天】在Docker环境下部署Simple mind map思维导图工具
21 1
【好用的个人工具】在Docker环境下部署Simple mind map思维导图工具
|
4天前
|
监控 物联网 测试技术
【好用的个人工具】使用Docker部署Dashdot服务器仪表盘
【5月更文挑战第15天】使用Docker部署Dashdot服务器仪表盘
37 12
|
4天前
|
运维 监控 Docker
使用Docker进行微服务架构的部署
【5月更文挑战第18天】本文探讨了如何使用Docker进行微服务架构部署,介绍了Docker的基本概念,如容器化平台和核心组件,以及它与微服务的关系。通过Docker,每个微服务可独立运行在容器中,便于构建、测试和部署。文章详细阐述了使用Docker部署微服务的步骤,包括定义服务、编写Dockerfile、构建镜像、运行容器、配置服务通信、监控和日志管理以及扩展和更新。Docker为微服务提供了可移植、可扩展的解决方案,是现代微服务架构的理想选择。
|
5天前
|
敏捷开发 数据可视化 测试技术
【Docker项目实战】使用Docker部署nullboard任务管理工具
【5月更文挑战第14天】使用Docker部署nullboard任务管理工具
19 2
|
2天前
|
Prometheus 监控 Cloud Native
构建高效稳定的Docker容器监控体系
【5月更文挑战第20天】 在微服务架构日益普及的今天,Docker作为其重要的实现技术之一,承载着大量应用的运行。然而,随之而来的是对于容器健康状态、资源使用情况以及性能指标的监控需求急剧增加。本文旨在探讨构建一个高效且稳定的Docker容器监控体系,不仅涵盖了监控工具的选择与配置,还详细阐述了监控数据的分析与处理流程。通过精心设计的监控策略和实时响应机制,我们能够确保系统的稳定性,并及时发现及处理潜在的问题。
|
5天前
|
Java 虚拟化 Docker
Docker简介及用途,为什么要使用Docker?Docker容器和虚拟机的区别
Docker简介及用途,为什么要使用Docker?Docker容器和虚拟机的区别
|
5天前
|
存储 Linux Docker
CentOS7修改Docker容器和镜像默认存储位置
CentOS7修改Docker容器和镜像默认存储位置