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

相关文章
|
16天前
|
监控 文件存储 Docker
实现NAS远程下载,Docker部署qBittorrent、Transmission、贝锐花生壳
与电脑不同,NAS通常7x24小时运行,便于下载资源,解决BT/PT下载需长时间在线的问题。因此,qBittorrent、Transmission等下载管理工具成为NAS用户的必备应用。通过Docker,用户可在多种NAS设备上快速安装这些工具,并通过局域网IP地址+端口访问。然而,缺乏公网IPv4地址导致远程访问困难,贝锐花生壳提供了解决方案,允许无公网IP情况下通过固定域名远程访问NAS中的下载工具,简化了部署过程,使用户能随时随地控制家中的下载任务。
133 33
实现NAS远程下载,Docker部署qBittorrent、Transmission、贝锐花生壳
|
9天前
|
应用服务中间件 Docker 容器
docker应用部署---Tomcat的部署配置
这篇文章介绍了如何使用Docker部署Tomcat服务器,包括搜索和拉取Tomcat镜像、创建容器并设置端口映射和目录映射,以及如何创建一个HTML页面并使用外部机器访问Tomcat服务器。
docker应用部署---Tomcat的部署配置
|
9天前
|
关系型数据库 MySQL 数据安全/隐私保护
docker应用部署---MySQL的部署配置
这篇文章介绍了如何使用Docker部署MySQL数据库,包括搜索和拉取MySQL镜像、创建容器并设置端口映射和目录映射、进入容器操作MySQL,以及如何使用外部机器连接容器中的MySQL。
docker应用部署---MySQL的部署配置
|
10天前
|
前端开发 应用服务中间件 nginx
docker部署本地前端项目思路
docker部署本地前端项目思路
23 7
|
9天前
|
应用服务中间件 nginx Docker
docker应用部署---nginx部署的配置
这篇文章介绍了如何使用Docker部署Nginx服务器,包括搜索和拉取Nginx镜像、创建容器并设置端口映射和目录映射,以及如何创建一个测试页面并使用外部机器访问Nginx服务器。
|
15天前
|
存储 Kubernetes Cloud Native
部署Kubernetes客户端和Docker私有仓库的步骤
这个指南涵盖了部署Kubernetes客户端和配置Docker私有仓库的基本步骤,是基于最新的实践和工具。根据具体的需求和环境,还可能需要额外的配置和调整。
29 1
|
21天前
|
Devops jenkins 持续交付
DevOps实践:构建和部署一个Docker化的应用
【9月更文挑战第14天】在当今快节奏的软件开发领域,DevOps已经成为提升效率、加速交付的关键。本文将引导你理解DevOps的核心概念,并通过一个实际的示例—构建和部署一个Docker化的应用—来深入探讨其实践方法。我们将从简单的应用出发,逐步实现Docker容器化,并最终通过CI/CD流水线自动化部署过程。这不仅是对DevOps流程的一次实操演练,也是对现代软件开发理念的一次深刻体验。
|
2月前
|
运维 Java Devops
阿里云云效操作报错合集之部署docker时遇到报错,该怎么办
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
运维 Kubernetes 前端开发
【云原生】阿里云服务器部署 Docker Swarm集群
阿里云服务器 一键部署 Docker Swarm 集群!
647 0
【云原生】阿里云服务器部署 Docker Swarm集群
|
弹性计算 数据可视化 关系型数据库
使用阿里云部署基于docker的mysql云服务
本篇文章将介绍如何使用阿里云安装docker、部署mysql服务,并远程连接至远端mysql
648 1
使用阿里云部署基于docker的mysql云服务
下一篇
无影云桌面