【Docker项目实战】使用Docker部署our-shopping-list购物清单工具

简介: 【6月更文挑战第7天】使用Docker部署our-shopping-list购物清单工具

一、our-shopping-list介绍

1.1 our-shopping-list简介

OSL (Our Shopping List)是一个简单的共享列表应用程序。典型用途当然包括购物清单,以及任何其他需要 协作使用的小型待办事项列表。

1.2our-shopping-list特点

  • 多个板(可以禁用)
  • 每个板有多个列表
  • 用户之间实时同步
  • 具有以下字段的项目:名称、数量、详细信息
  • 可检查项目
  • 2种项目显示模式(仅未勾选/仅勾选,按勾选时间排序)
  • 直观的搜索
  • 具有可滑动项目的移动优先 UI
  • PWA基础支持

    1.3 our-shopping-list使用场景

  • 购物清单:多个人共同编辑购物清单,可以随时添加或删除物品,方便家庭成员或室友协作购物。

  • 家庭待办事项:家庭成员可以共享待办事项列表,例如家庭保养、家务分工、维修计划等,提高家庭协作效率。

  • 团队工作:团队成员可以共享任务清单,用于项目管理、任务分配和进度跟踪等,提高团队合作效率。

  • 旅行计划:多人共同编辑旅行清单,可以记录行程安排、行李清单、景点推荐等,方便旅行中的协作和沟通。

  • 社区活动:社区居民可以使用该应用程序共享社区活动的待办事项,例如活动筹备、志愿者报名等,方便组织和协作。

  • 学习计划:学生或教师可以使用该应用程序共享学习或教学计划的待办事项,例如作业安排、课程目录等,方便学习和教学管理。

二、本地环境介绍

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为centos7.6。

hostname IP地址 操作系统版本 Docker版本
jeven 192.168.3.166 centos 7.6 20.10.17

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署our-shopping-list共享列表应用程序。

三、本地环境检查

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-03-01 00:18:43 CST; 52s ago
     Docs: https://docs.docker.com
 Main PID: 11826 (dockerd)
    Tasks: 28
   Memory: 155.4M
   CGroup: /system.slice/docker.service
           ├─11826 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

3.2 检查Docker版本

检查Docker版本

[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

四、下载our-shopping-list镜像

在docker hub拉取our-shopping-list镜像

docker pull nanawel/our-shopping-list

在这里插入图片描述

五、部署our-shopping-list应用

5.1 创建部署目录

创建部署目录/data/docker

mkdir -p /data/docker/osl  && cd /data/docker

5.2 编辑docker-compose.yaml文件

本次实践部署使用docker compose方式,编辑的docker-compose.yaml文件。

version: '3.2'

services:
  app:
    image: nanawel/our-shopping-list
    container_name: osl
#    command: '${NODE_BIN:-node} index.js'
    ports:
      - '6680:8080'
#    volumes:
#      - ./server:/app
#      - ./client:/app/client
    environment:
      LISTEN_PORT: 8080
      MONGODB_HOST: mongodb
      MONGODB_PORT: 27017
      MONGODB_DB: osl
    depends_on:
      - mongodb

  mongodb:
    image: mongo:4
    ports:
      - '27017:27017'
    volumes:
      - dbdata:/data/db
volumes:
  dbdata:
~

5.3 创建our-shopping-list容器

创建our-shopping-list容器

[root@jeven docker]# docker compose up -d
[+] Running 3/3
 ⠿ Network docker_default      Created                                                                                                          0.0s
 ⠿ Container docker-mongodb-1  Started                                                                                                          1.1s
 ⠿ Container osl               Started                                                                                                          3.5s

在这里插入图片描述

5.4 查看our-shopping-list容器状态

检查our-shopping-list容器状态,确保our-shopping-list容器正常启动。

[root@jeven docker]# docker compose ps
NAME                COMMAND                  SERVICE             STATUS               PORTS
docker-mongodb-1    "docker-entrypoint.s…"   mongodb             running              0.0.0.0:27017->27017/tcp, :::27017->27017/tcp
osl                 "docker-entrypoint.s…"   app                 running (starting)   0.0.0.0:6680->8080/tcp, :::6680->8080/tcp

六、访问our-shopping-list首页

6.1 进入our-shopping-list首页

访问地址:http://192.168.3.166:6600,将IP替换为自己服务器IP地址,进入进入our-shopping-list初始页,自定义注册账号和密码。如果无法访问,则检查服务器防火墙是否设置,云服务器的安全组端口是否放行等。

在这里插入图片描述

点击的面板,进入our-shopping-list首页。
在这里插入图片描述
在这里插入图片描述

6.2 创建清单

点击“创建一个清单”选项,开始创建购物清单。

在这里插入图片描述

创建列表名后,点击“创建”后,进行下一步操作。

在这里插入图片描述

点击创建“新的项目,编辑项目内容。自定义填写即可。

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

6.3 确认项目

鼠标左键选中项目,向右滑动以确认勾选项目。

在这里插入图片描述

七、总结

our-shopping-list是一个简单的购物清单工具,它具有清爽简洁的界面和易于操作的特点。我们可以将其部署在本地,用作日常的简单任务管理或购物清单小工具。尽管它功能不多,但对于那些不需要过多功能的用户来说,是一个不错的选择。

相关文章
|
8月前
|
应用服务中间件 网络安全 nginx
手把手教你使用 Docker 部署 Nginx 教程
本文详解Nginx核心功能与Docker部署优势,涵盖镜像拉取、容器化部署(快速、挂载、Compose)、HTTPS配置及常见问题处理,助力高效搭建稳定Web服务。
3593 4
|
8月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
376 5
|
8月前
|
存储 NoSQL Redis
手把手教你用 Docker 部署 Redis
Redis是高性能内存数据库,支持多种数据结构,适用于缓存、消息队列等场景。本文介绍如何通过Docker快速拉取轩辕镜像并部署Redis,涵盖快速启动、持久化存储及docker-compose配置,助力开发者高效搭建稳定服务。
2518 8
|
8月前
|
存储 关系型数据库 MySQL
MySQL Docker 容器化部署全指南
MySQL是一款开源关系型数据库,广泛用于Web及企业应用。Docker容器化部署可解决环境不一致、依赖冲突问题,实现高效、隔离、轻量的MySQL服务运行,支持数据持久化与快速迁移,适用于开发、测试及生产环境。
1088 4
|
安全 Java
java线程之List集合并发安全问题及解决方案
java线程之List集合并发安全问题及解决方案
2172 1
|
运维 关系型数据库 Java
PolarDB产品使用问题之使用List或Range分区表时,Java代码是否需要进行改动
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
Java API Apache
怎么在在 Java 中对List进行分区
本文介绍了如何将列表拆分为给定大小的子列表。尽管标准Java集合API未直接支持此功能,但Guava和Apache Commons Collections提供了相关API。
600 1
|
存储 安全 Java
详解Java中集合的List接口实现的ArrayList方法 | Set接口实现的HashSet方法
详解Java中集合的List接口实现的ArrayList方法 | Set接口实现的HashSet方法
367 3
|
Java API
使用 Java 来实现两个 List 的差集操作
使用 Java 来实现两个 List 的差集操作
1766 3