云原生之使用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

相关文章
|
7天前
|
Ubuntu Linux 开发工具
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
Docker 是一个开源的容器化平台,允许开发者将应用程序及其依赖项打包成标准化单元(容器),确保在任何支持 Docker 的操作系统上一致运行。容器共享主机内核,提供轻量级、高效的执行环境。本文介绍如何在 Ubuntu 上安装 Docker,并通过简单步骤验证安装成功。后续文章将探讨使用 Docker 部署开源项目。优雅草央千澈 源、安装 Docker 包、验证安装 - 适用场景:开发、测试、生产环境 通过以上步骤,您可以在 Ubuntu 系统上成功安装并运行 Docker,为后续的应用部署打下基础。
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
|
13天前
|
存储 Kubernetes 开发者
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
Docker 是一种开源的应用容器引擎,允许开发者将应用程序及其依赖打包成可移植的镜像,并在任何支持 Docker 的平台上运行。其核心概念包括镜像、容器和仓库。镜像是只读的文件系统,容器是镜像的运行实例,仓库用于存储和分发镜像。Kubernetes(k8s)则是容器集群管理系统,提供自动化部署、扩展和维护等功能,支持服务发现、负载均衡、自动伸缩等特性。两者结合使用,可以实现高效的容器化应用管理和运维。Docker 主要用于单主机上的容器管理,而 Kubernetes 则专注于跨多主机的容器编排与调度。尽管 k8s 逐渐减少了对 Docker 作为容器运行时的支持,但 Doc
77 5
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
|
25天前
|
人工智能 缓存 异构计算
云原生AI加速生成式人工智能应用的部署构建
本文探讨了云原生技术背景下,尤其是Kubernetes和容器技术的发展,对模型推理服务带来的挑战与优化策略。文中详细介绍了Knative的弹性扩展机制,包括HPA和CronHPA,以及针对传统弹性扩展“滞后”问题提出的AHPA(高级弹性预测)。此外,文章重点介绍了Fluid项目,它通过分布式缓存优化了模型加载的I/O操作,显著缩短了推理服务的冷启动时间,特别是在处理大规模并发请求时表现出色。通过实际案例,展示了Fluid在vLLM和Qwen模型推理中的应用效果,证明了其在提高模型推理效率和响应速度方面的优势。
云原生AI加速生成式人工智能应用的部署构建
|
1月前
|
Java 应用服务中间件 Docker
将基于 Spring 的 WAR 应用程序部署到 Docker:详尽指南
将基于 Spring 的 WAR 应用程序部署到 Docker:详尽指南
37 2
|
2月前
|
Kubernetes Cloud Native 微服务
云原生入门与实践:Kubernetes的简易部署
云原生技术正改变着现代应用的开发和部署方式。本文将引导你了解云原生的基础概念,并重点介绍如何使用Kubernetes进行容器编排。我们将通过一个简易的示例来展示如何快速启动一个Kubernetes集群,并在其上运行一个简单的应用。无论你是云原生新手还是希望扩展现有知识,本文都将为你提供实用的信息和启发性的见解。
|
2月前
|
敏捷开发 Kubernetes Cloud Native
阿里云云原生技术为企业提供了一套高效、灵活的解决方案,支持跨云部署与管理
在多云环境中,阿里云云原生技术为企业提供了一套高效、灵活的解决方案,支持跨云部署与管理。通过容器化、服务网格等技术,实现了应用的一致性与可移植性,简化了多云环境下的资源管理和服务治理,帮助企业应对复杂的云环境挑战,加速数字化转型。
53 5
|
2月前
|
运维 Cloud Native 云计算
云原生之旅:Docker容器化实战
本文将带你走进云原生的世界,深入理解Docker技术如何改变应用部署与运维。我们将通过实际案例,展示如何利用Docker简化开发流程,提升应用的可移植性和伸缩性。文章不仅介绍基础概念,还提供操作指南和最佳实践,帮助你快速上手Docker,开启云原生的第一步。
|
2月前
|
Java Linux Docker
什么是 Docker?如何将 Spring Boot 应用程序部署到 Docker?
什么是 Docker?如何将 Spring Boot 应用程序部署到 Docker?
51 3
|
5月前
|
运维 Java Devops
阿里云云效操作报错合集之部署docker时遇到报错,该怎么办
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
运维 Kubernetes 前端开发
【云原生】阿里云服务器部署 Docker Swarm集群
阿里云服务器 一键部署 Docker Swarm 集群!
699 0
【云原生】阿里云服务器部署 Docker Swarm集群