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

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

一、todo介绍

1.1todo简介

  • todo简介

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

二、本次实践规划

2.1 本地环境规划

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

hostname IP地址 操作系统版本 Docker版本 镜像版本
ubuntu-001 192.168.3.251 Ubuntu 22.04.1 LTS 24.0.7 latest

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;

2.在Docker环境下部署todo任务管理器。

三、本地环境检查

3.1 检查Docker服务状态

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

bash 复制代码
root@ubuntu-001:~# systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: 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.socket
       Docs: https://docs.docker.com
   Main PID: 5227 (dockerd)
      Tasks: 123
     Memory: 272.5M
        CPU: 9.692s
     CGroup: /system.slice/docker.service
             ├─5227 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

3.2 检查Docker版本

检查Docker版本

bash 复制代码
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以上版本。

bash 复制代码
root@ubuntu-001:~#  docker compose version
Docker Compose version v2.19.1

四、下载todo镜像

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

bash 复制代码
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 创建部署目录

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

5.2 编辑部署文件

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

yaml 复制代码
version: '3'

services:
  todo:
    image: prologic/todo
    container_name: todo
    restart: always
    ports:
      - 6988:8000
    volumes:
      - ./data:/data
    environment: 
      - THEME=dracula

     

5.3 创建todo容器

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

bash 复制代码
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容器正常启动。

bash 复制代码
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服务正常运行。

bash 复制代码
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在简化应用部署和维护方面的强大优势。

相关推荐
Suchadar39 分钟前
Docker基础命令(二)——数据卷管理端口映射与容器互联
运维·docker·容器
firstacui1 小时前
Docker容器网络管理与容器数据卷管理
运维·docker·容器
codeRichLife2 小时前
docker拷贝,导入/导出等常用命令
docker
努力搬砖的咸鱼3 小时前
部署你的第一个应用到 K8s
微服务·云原生·容器·kubernetes
lpruoyu4 小时前
【Docker进阶-01】Docker隔离原理与可视化界面-Portainer
docker
舰长1154 小时前
使用 kubeadm搭建生产环境的单 master 节点 K8S 集群(一)
云原生·容器·kubernetes
Swift社区5 小时前
Docker 构建 Python FastAPI 镜像最佳实践
python·docker·fastapi
API开发5 小时前
CentOS 单独安装Docker Compose v2
linux·docker·centos·docker compose
hwj运维之路5 小时前
Docker面试题汇总系列
运维·docker·云原生·容器
chao_7895 小时前
双设备全栈开发最佳实践[mac系统]
git·python·macos·docker·vue·全栈