云原生之使用Docker部署OneNav个人书签管理器

简介: 云原生之使用Docker部署OneNav个人书签管理器

一、OneNav介绍

1.OneNav简介

OneNav是一款使用PHP + SQLite 3开发的导航/书签管理器,支持Material Design风格,界面简洁,使用方便。

2.OneNav特点

  • 支持后台管理
  • 支持私有链接
  • 支持多种主题风格(默认内置2套模板)
  • 支持链接信息自动识别
  • 支持API
  • 支持右键菜单管理

    二、检查本地docker环境

    1.检查docker版本

    ```bash
    [root@jeven ~]# docker version
    Client: Docker Engine - Community
    Version: 20.10.17
    API version: 1.41
    Go version: go1.17.11
    Git commit: 100c701
    Built: Mon Jun 6 23:05:12 2022
    OS/Arch: linux/amd64
    Context: default
    Experimental: true

Server: Docker Engine - Community
Engine:
Version: 20.10.17
API version: 1.41 (minimum version 1.12)
Go version: go1.17.11
Git commit: a89b842
Built: Mon Jun 6 23:03:33 2022
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.6
GitCommit: 10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1
runc:
Version: 1.1.2
GitCommit: v1.1.2-0-ga916309
docker-init:
Version: 0.19.0
GitCommit: de40ad0


## 2.检查docker状态
```bash
[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 Wed 2022-07-27 08:42:11 CST; 5 months 1 days ago
     Docs: https://docs.docker.com
 Main PID: 9747 (dockerd)
   CGroup: /system.slice/docker.service
           ├─ 9747 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
           ├─59278 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8566 -container-ip 172.19.0.3 -container-port 80...
           └─59284 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 8566 -container-ip 172.19.0.3 -container-port 8080

Dec 27 12:25:58 jeven dockerd[9747]: time="2022-12-27T12:25:58+08:00" level=info msg="Firewalld: docker zone already exis...urning"
Dec 27 12:33:11 jeven dockerd[9747]: time="2022-12-27T12:33:11.097759654+08:00" level=info msg="ignoring event" container...Delete"
Dec 27 12:33:12 jeven dockerd[9747]: time="2022-12-27T12:33:12.392394326+08:00" level=info msg="ignoring event" container...Delete"
Dec 27 12:36:10 jeven dockerd[9747]: time="2022-12-27T12:36:10.759709948+08:00" level=info msg="Firewalld: interface br-5...urning"
Dec 27 12:36:10 jeven dockerd[9747]: time="2022-12-27T12:36:10.879472987+08:00" level=warning msg="IPv4 forwarding is dis... work."
Dec 27 12:36:10 jeven dockerd[9747]: time="2022-12-27T12:36:10.904829465+08:00" level=warning msg="IPv4 forwarding is dis... work."
Dec 27 12:36:10 jeven dockerd[9747]: time="2022-12-27T12:36:10.930135772+08:00" level=warning msg="IPv4 forwarding is dis... work."
Dec 27 12:36:11 jeven dockerd[9747]: time="2022-12-27T12:36:11+08:00" level=info msg="Firewalld: docker zone already exis...urning"
Dec 27 12:36:11 jeven dockerd[9747]: time="2022-12-27T12:36:11.235494624+08:00" level=warning msg="IPv4 forwarding is dis... work."
Dec 27 12:36:11 jeven dockerd[9747]: time="2022-12-27T12:36:11+08:00" level=info msg="Firewalld: docker zone already exis...urning"
Hint: Some lines were ellipsized, use -l to show in full.

三、下载onenav镜像

[root@jeven ~]# docker pull helloz/onenav
Using default tag: latest
latest: Pulling from helloz/onenav
339de151aab4: Pull complete 
4f4fb700ef54: Pull complete 
64e2d91f6a6b: Pull complete 
aedf58cb2c7e: Pull complete 
03e9996f76bb: Pull complete 
16141d74ea3a: Pull complete 
Digest: sha256:da1030a7d0b01f3918f7806eef984f686d3578e4de34d592fb4f956341b6a741
Status: Downloaded newer image for helloz/onenav:latest
docker.io/helloz/onenav:latest

四、部署OneNav应用

1.创建数据目录


[root@jeven ~]# mkdir -p /data/onenav
[root@jeven ~]# cd /data/onenav/
[root@jeven onenav]#

2.创建OneNav容器


[root@jeven onenav]# docker run -d --name="onenav" --restart always -p 8011:80  -e USER='admin' -e PASSWORD='admin'  -v /data/onenav/data:/data/wwwroot/default/data  helloz/onenav
8e43316064d1a938600f1309883fac6b2e63279c9d2fe90fe554eecfd9fda827

3.查看OneNav容器状态

[root@jeven onenav]# docker ps
CONTAINER ID   IMAGE                    COMMAND                  CREATED          STATUS                        PORTS                                       NAMES
8e43316064d1   helloz/onenav            "/usr/sbin/run.sh"       32 seconds ago   Up 30 seconds                 0.0.0.0:8011->80/tcp, :::8011->80/tcp       onenav

五、访问OneNav首页

image.png

六、访问OneNav后台

1.登录OneNav后台

image.png

2.访问OneNav后台

image.png

相关文章
|
3月前
|
应用服务中间件 网络安全 nginx
手把手教你使用 Docker 部署 Nginx 教程
本文详解Nginx核心功能与Docker部署优势,涵盖镜像拉取、容器化部署(快速、挂载、Compose)、HTTPS配置及常见问题处理,助力高效搭建稳定Web服务。
1357 4
|
3月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
180 5
|
3月前
|
存储 NoSQL Redis
手把手教你用 Docker 部署 Redis
Redis是高性能内存数据库,支持多种数据结构,适用于缓存、消息队列等场景。本文介绍如何通过Docker快速拉取轩辕镜像并部署Redis,涵盖快速启动、持久化存储及docker-compose配置,助力开发者高效搭建稳定服务。
997 7
|
3月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
401 2
|
存储 Cloud Native 数据处理
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
本文整理自阿里云资深技术专家、Apache Flink PMC 成员梅源在 Flink Forward Asia 新加坡 2025上的分享,深入解析 Flink 状态管理系统的发展历程,从核心设计到 Flink 2.0 存算分离架构,并展望未来基于流批一体的通用增量计算方向。
388 0
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
|
5月前
|
运维 监控 Cloud Native
从本土到全球,云原生架构护航灵犀互娱游戏出海
本文内容整理自「 2025 中企出海大会·游戏与互娱出海分论坛」,灵犀互娱基础架构负责人朱晓靖的演讲内容,从技术层面分享云原生架构护航灵犀互娱游戏出海经验。
528 16
|
5月前
|
运维 监控 Cloud Native
从本土到全球,云原生架构护航灵犀互娱游戏出海
内容整理自「 2025 中企出海大会·游戏与互娱出海分论坛」,灵犀互娱基础架构负责人朱晓靖的演讲内容,从技术层面分享云原生架构护航灵犀互娱游戏出海经验。
|
9月前
|
运维 Cloud Native 测试技术
极氪汽车云原生架构落地实践
随着极氪数字业务的飞速发展,背后的 IT 技术也在不断更新迭代。极氪极为重视客户对服务的体验,并将系统稳定性、业务功能的迭代效率、问题的快速定位和解决视为构建核心竞争力的基石。
|
3月前
|
人工智能 Kubernetes Cloud Native
Higress(云原生AI网关) 架构学习指南
Higress 架构学习指南 🚀写在前面: 嘿,欢迎你来到 Higress 的学习之旅!
862 0