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

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 【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是一个简单的购物清单工具,它具有清爽简洁的界面和易于操作的特点。我们可以将其部署在本地,用作日常的简单任务管理或购物清单小工具。尽管它功能不多,但对于那些不需要过多功能的用户来说,是一个不错的选择。

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
4天前
|
开发工具 虚拟化 git
自学软硬件第755 docker容器虚拟化技术youtube视频下载工具
docker容器虚拟化技术有什么用?怎么使用?TubeTube 项目使用youtube视频下载工具
|
3天前
|
JSON 运维 Ubuntu
在Docker上部署Ollama+AnythingLLM完成本地LLM Agent部署
通过以上步骤,您可以成功在Docker上部署Ollama和AnythingLLM,实现本地LLM Agent的功能。在部署过程中,确保环境和配置正确,以避免不必要的问题。希望本文能够帮助您顺利完成部署,并在本地环境中高效地使用LLM模型。
95 8
|
1月前
|
人工智能 文字识别 安全
Stirling-PDF:51.4K Star!用Docker部署私有PDF工作站,支持50多种PDF操作,从此告别在线工具
Stirling-PDF 是一款基于 Docker 的本地化 PDF 编辑工具,支持 50 多种 PDF 操作,包括合并、拆分、转换、压缩等,同时提供多语言支持和企业级功能,满足个人和企业用户的多样化需求。
94 6
Stirling-PDF:51.4K Star!用Docker部署私有PDF工作站,支持50多种PDF操作,从此告别在线工具
|
26天前
|
中间件 关系型数据库 数据库
docker快速部署OS web中间件 数据库 编程应用
通过Docker,可以轻松地部署操作系统、Web中间件、数据库和编程应用。本文详细介绍了使用Docker部署这些组件的基本步骤和命令,展示了如何通过Docker Compose编排多容器应用。希望本文能帮助开发者更高效地使用Docker进行应用部署和管理。
56 19
|
18天前
|
Linux 虚拟化 Docker
Linux服务器部署docker windows
在当今软件开发中,Docker成为流行的虚拟化技术,支持在Linux服务器上运行Windows容器。流程包括:1) 安装Docker;2) 配置支持Windows容器;3) 获取Windows镜像;4) 运行Windows容器;5) 验证容器状态。通过这些步骤,你可以在Linux环境中顺利部署和管理Windows应用,提高开发和运维效率。
74 1
|
10天前
|
Docker Python 容器
Docker——阿里云服务器使用Docker部署python项目全程小记
本文记录了我在阿里云服务器上使用Docker部署python项目(flask为例)的全过程,在这里记录和分享一下,希望可以给大家提供一些参考。
|
9月前
|
安全 Java
java线程之List集合并发安全问题及解决方案
java线程之List集合并发安全问题及解决方案
1143 1
|
8月前
|
Java API Apache
怎么在在 Java 中对List进行分区
本文介绍了如何将列表拆分为给定大小的子列表。尽管标准Java集合API未直接支持此功能,但Guava和Apache Commons Collections提供了相关API。
|
8月前
|
运维 关系型数据库 Java
PolarDB产品使用问题之使用List或Range分区表时,Java代码是否需要进行改动
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
8月前
|
存储 安全 Java
详解Java中集合的List接口实现的ArrayList方法 | Set接口实现的HashSet方法
详解Java中集合的List接口实现的ArrayList方法 | Set接口实现的HashSet方法
101 3