当前位置: 首页 > news >正文

【Docker项目实战】使用Docker部署todo任务管理器

【Docker项目实战】使用Docker部署todo任务管理器

  • 一、todo介绍
    • 1.1todo简介
  • 二、本次实践规划
    • 2.1 本地环境规划
    • 2.2 本次实践介绍
  • 三、本地环境检查
    • 3.1 检查Docker服务状态
    • 3.2 检查Docker版本
    • 3.3 检查docker compose 版本
  • 四、下载todo镜像
  • 五、部署todo应用
    • 5.1 创建部署目录
    • 5.2 编辑部署文件
    • 5.3 创建todo容器
    • 5.4 查看todo容器状态
    • 5.5 查看todo容器日志
  • 六、访问todo服务
  • 七、总结

一、todo介绍

1.1todo简介

  • todo简介

待办事项列表管理器(Todo)是一种帮助用户组织和跟踪日常任务的简单工具,通过创建、分类和设置优先级来确保高效地完成各项事务。它通常提供直观的界面和多种功能,如提醒、标签和截止日期设定,以提升个人或团队的生产力。

二、本次实践规划

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为|Ubuntu 22.04.1。

hostnameIP地址操作系统版本Docker版本镜像版本
ubuntu-001192.168.3.251Ubuntu 22.04.1 LTS24.0.7latest

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署todo任务管理器。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

root@ubuntu-001:~# systemctl status docker
● docker.service - Docker Application Container EngineLoaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)Active: active (running) since Sun 2024-09-29 08:29:36 UTC; 18min ago
TriggeredBy: ● docker.socketDocs: https://docs.docker.comMain PID: 5227 (dockerd)Tasks: 123Memory: 272.5MCPU: 9.692sCGroup: /system.slice/docker.service├─5227 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

3.2 检查Docker版本

检查Docker版本

root@ubuntu-001:~# docker -v
Docker version 24.0.7, build 24.0.7-0ubuntu2~22.04.1

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

root@ubuntu-001:~#  docker compose version
Docker Compose version v2.19.1

四、下载todo镜像

拉取todo镜像,镜像名称为:prologic/todo

root@ubuntu-001:~# docker pull  prologic/todo
Using default tag: latest
latest: Pulling from prologic/todo
c158987b0551: Pull complete
7beea594d2fb: Pull complete
c080b5dd32b9: Pull complete
a66238e9d965: Pull complete
6d5e0cafd214: Pull complete
d0d22a3a0114: Pull complete
Digest: sha256:417106ae1964d3c7493570b61e643c681129fba7e8b47df290f5f1952980b969
Status: Downloaded newer image for prologic/todo:latest
docker.io/prologic/todo:latest

五、部署todo应用

5.1 创建部署目录

  • 创建部署目录
mkdir -p /data/todo && cd /data/todo
  • 设置目录权限
chmod -R 777 /data/todo/

5.2 编辑部署文件

/data/todo目录下,创建docker-compose.yaml文件,其中宿主机映射端口等可以自定义配置。

version: '3'services:todo:image: prologic/todocontainer_name: todorestart: alwaysports:- 6988:8000volumes:- ./data:/dataenvironment: - THEME=dracula

5.3 创建todo容器

执行以下命令,创建todo容器。

root@ubuntu-001:/data/todo# docker compose up -d
[+] Running 2/2✔ Network todo_default  Created                                                                                                                         0.1s✔ Container todo        Started                                                                                                                         0.4s

5.4 查看todo容器状态

检查todo容器状态状态,确保todo容器正常启动。

root@ubuntu-001:/data/todo# docker compose ps
NAME                IMAGE               COMMAND                  SERVICE             CREATED             STATUS              PORTS
todo                prologic/todo       "/init todo -dbpath …"   todo                9 seconds ago       Up 8 seconds        0.0.0.0:6988->8000/tcp, :::6988->8000/tcp

5.5 查看todo容器日志

检查todo容器日志,确保todo服务正常运行。

root@ubuntu-001:/data/todo# docker compose logs
todo  | usermod: no changes
todo  | Configuring todo...
todo  | Switching UID=1000 and GID=1000

六、访问todo服务

访问地址:http://192.168.3.251:6988,将IP替换为自己服务器IP地址。如果无法访问到以下页面,则检查宿主机的防火墙是否关闭或者放行相关端口,云服务器则还需要设置安全组规则。

在这里插入图片描述

在这里插入图片描述

七、总结

通过Docker部署Todo任务管理器的过程简洁高效,仅需几个命令即可完成环境搭建与应用启动。整个过程不仅提升了开发和部署的效率,还确保了应用在不同环境间的一致性和可移植性。实际使用中,Todo任务管理器运行稳定,界面直观且功能丰富,极大地提高了个人和团队的任务管理效率。这次实战进一步验证了Docker在简化应用部署和维护方面的强大优势。

http://www.xdnf.cn/news/1295029.html

相关文章:

  • javaswing json格式化工具
  • 【2025】Datawhale AI夏令营-多模态RAG-Task3笔记-解决方案进阶
  • Redis7学习——Redis的十大类型String、List、Hash、Set、Zset
  • 模式设计:策略模式及其应用场景
  • Linux学习-UI技术
  • Python【算法中心 03】Docker部署Django搭建的Python应用流程实例(Docker离线安装配置+Django项目Docker部署)
  • Coze Studio 概览(十)--文档处理详细分析
  • 51单片机-51单片机最小系统
  • Java Stream API 中常用方法复习及项目实战示例
  • 普通电脑与云电脑的区别有哪些?全面科普
  • Apifox精准定义复杂API参数结构(oneOf/anyOf/allOf)
  • Spring Boot项目调用第三方接口的三种方式比较
  • Spring Boot初级概念及自动配置原理
  • LeetCode215~ 234题解
  • 【代码随想录day 19】 力扣 450.删除二叉搜索树中的节点
  • PyTorch简介
  • electron进程间通信- 从渲染进程到主进程
  • [量化交易](1获取加密货币的交易数据)
  • 从0开始跟小甲鱼C语言视频使用linux一步步学习C语言(持续更新)8.13
  • C#自定义日期时间选择器
  • C++中的`auto`与`std::any`:功能、区别与选择建议
  • ResourcelessTransactionManager的作用
  • 嵌入式第二十七天(UI相关技术(framebuffer))
  • 深度学习·ExCEL
  • 基于js和html的点名应用
  • Jenkins一直无法启动,怎么办?
  • C# 反射入门:如何获取 Type 对象?
  • Android平台RTSP播放器选型指南:从开源方案到跨平台低延迟专业SDK
  • 浅层神经网络
  • Mysql——如何做到Redolog崩溃后恢复的