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

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介: 【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
相关文章
|
1天前
|
测试技术 Linux 网络安全
【Docker项目实战】使用Docker部署RSS阅读器yarr
【6月更文挑战第22天】使用Docker部署RSS阅读器yarr
7 2
|
1天前
|
Docker 容器
如何使用Docker部署WPS Office服务并实现无公网IP远程处理文档表格(二)
使用Docker部署的WPS Office服务可以通过内网穿透工具Cpolar实现远程访问。首先,创建一个名为“wps office”的隧道,选择HTTP协议和3000端口,分配免费的随机域名,并指定中国地区。然后,通过Cpolar的管理界面获取HTTP公网地址,用以远程访问WPS Office。由于随机域名会变化,可以升级Cpolar套餐并保留一个二级子域名,确保长期稳定的远程访问。配置子域名后,更新隧道设置,完成固定公网地址的绑定,从而实现随时随地通过固定地址访问WPS Office。
|
1天前
|
数据采集 JavaScript Go
蓝易云 - crawlab通过docker单节点部署简单爬虫
以上就是通过Docker单节点部署Crawlab并运行简单爬虫的步骤。在实际操作中,你需要根据自己的需求对爬虫代码进行编写。
5 2
|
1天前
|
域名解析 网络协议 Ubuntu
docker快速部署DNS,实现快速上线
docker快速部署DNS,实现快速上线
|
1天前
|
安全 Linux 网络安全
如何使用Docker部署WPS Office服务并实现无公网IP远程处理文档表格(一)
在群晖NAS上使用Docker部署WPS Office并结合Cpolar内网穿透的步骤包括: 1. 通过SSH命令行拉取`linuxserver/wps-office`镜像。 2. 在群晖容器管理界面运行镜像,设置启动选项和端口映射。 3. 本地访问群晖IP:3000端口以使用WPS Office。 4. 安装Cpolar套件,手动添加并安装到群晖,通过9200端口访问其Web管理界面。 5. 使用Cpolar配置内网穿透,实现远程访问WPS Office。 这一过程允许用户即使在没有公网IP的情况下,也能通过Cpolar将内网的WPS Office服务暴露到公网,便于远程办公和文档处理。
|
6天前
|
NoSQL 关系型数据库 Redis
Docker的通俗理解和通过宿主机端口访问Redis容器的实例
本文目标:引导初学者入门Docker,理解镜像、容器和宿主机概念,学习常用Docker命令,特别是如何创建并从Redis容器通过宿主机端口访问。 关键点: - Docker核心:镜像(类)、容器(实例)、宿主机(运行环境)。 - `docker pull` 拉取镜像,如 `redis:3.0`。 - `docker run -d --name` 后台运行容器,如 `my-redis`。 - `-p` 参数做端口映射,如 `6379:6379`。 - `docker exec -it` 交互式进入容器,如 `bash` 或执行命令。
|
3天前
|
前端开发 安全 数据库
Web架构&前后端分离站&Docker容器站&集成软件站&建站分配
Web架构&前后端分离站&Docker容器站&集成软件站&建站分配
|
17小时前
|
NoSQL Redis Docker
使用 Docker Compose 接管现有容器的文档
使用 Docker Compose 接管现有容器的文档
11 2
|
3天前
|
Cloud Native 安全 Docker
云上攻防-云原生篇&Docker安全&系统内核&版本&CDK自动利用&容器逃逸
云上攻防-云原生篇&Docker安全&系统内核&版本&CDK自动利用&容器逃逸