云原生之使用Docker部署Laverna笔记工具

简介: 云原生之使用Docker部署Laverna笔记工具

一、Laverna介绍

Laverna是一个开源的、用 JavaScript 编写的笔记网络应用程序,可以部署在个人服务器上使用。

二、检查本地环境状态

1.检查系统版本

[root@server001 ~]# cat /etc/os-release 
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
AI 代码解读

2.检查docker状态

[root@server001 ~]# 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 Sun 2022-11-06 06:02:26 CST; 1 weeks 2 days ago
     Docs: https://docs.docker.com
 Main PID: 9869 (dockerd)
    Tasks: 29
   Memory: 2.4G
   CGroup: /system.slice/docker.service
           ├─  9869 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
           ├─116625 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8765 -container-ip 172.17.0.2 -container-port 80
           └─116630 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 8765 -container-ip 172.17.0.2 -container-port 80

Nov 14 22:30:23 server001 dockerd[9869]: time="2022-11-14T22:30:23.149457043+08:00" level=info msg="Container failed to exit within 10s ...03a5f88d
Nov 14 22:30:23 server001 dockerd[9869]: time="2022-11-14T22:30:23.191892564+08:00" level=info msg="ignoring event" container=672c3438d9...kDelete"
Nov 14 22:41:26 server001 dockerd[9869]: time="2022-11-14T22:41:26.110484832+08:00" level=info msg="ignoring event" container=37a7401ce7...kDelete"
Nov 14 23:00:03 server001 dockerd[9869]: time="2022-11-14T23:00:03.899436227+08:00" level=info msg="Container failed to exit within 10s ...dde0d014
Nov 14 23:00:03 server001 dockerd[9869]: time="2022-11-14T23:00:03.942747053+08:00" level=info msg="ignoring event" container=7c726140a1...kDelete"
Nov 14 23:07:40 server001 dockerd[9869]: time="2022-11-14T23:07:40.338292217+08:00" level=info msg="ignoring event" container=9c78d5b9d1...kDelete"
Nov 14 23:07:40 server001 dockerd[9869]: time="2022-11-14T23:07:40.556135522+08:00" level=info msg="ignoring event" container=1932d4e66d...kDelete"
Nov 14 23:32:22 server001 dockerd[9869]: time="2022-11-14T23:32:22.670922544+08:00" level=info msg="ignoring event" container=60235239f1...kDelete"
Nov 14 23:32:22 server001 dockerd[9869]: time="2022-11-14T23:32:22.855970045+08:00" level=info msg="ignoring event" container=c4a43ebc18...kDelete"
Nov 14 23:32:23 server001 dockerd[9869]: time="2022-11-14T23:32:23.088696932+08:00" level=info msg="ignoring event" container=e1bec0a05f...kDelete"
Hint: Some lines were ellipsized, use -l to show in full.
AI 代码解读

三、下载Laverna镜像


[root@server001 ~]# docker pull thklein/laverna
Using default tag: latest
latest: Pulling from thklein/laverna
Image docker.io/thklein/laverna:latest uses outdated schema1 manifest format. Please upgrade to a schema2 image for better future compatibility. More information at https://docs.docker.com/registry/spec/deprecated-schema-v1/
6ffe5d2d6a97: Pull complete 
f4e00f994fd4: Pull complete 
e99f3d1fc87b: Pull complete 
a3ed95caeb02: Pull complete 
ededd75b6753: Pull complete 
1ddde157dd31: Pull complete 
b1fa3eb3cc18: Pull complete 
a1704470ed47: Pull complete 
3dd83205b755: Pull complete 
49a5665b2cca: Pull complete 
93d2530c6321: Pull complete 
eb4c934836f7: Pull complete 
665c57aee3f3: Pull complete 
Digest: sha256:c738d0f72de7caf8123eaf786dbc4971bf4adc8abb3e27fbd3991bc8a1933302
Status: Downloaded newer image for thklein/laverna:latest
docker.io/thklein/laverna:latest
AI 代码解读

四、部署Laverna

1.运行Laverna容器


[root@server001 ~]# docker run -d --name laverna -p 80:80 thklein/laverna:latest
16539a40754c3f059bd01c04e713046fd6142e0c7be3b59647e866ec1f9adbeb
AI 代码解读

2.查看Laverna容器状态

[root@server001 ~]# docker ps
CONTAINER ID   IMAGE                          COMMAND                  CREATED          STATUS          PORTS                                   NAMES
16539a40754c   thklein/laverna:latest         "/bin/sh -c 'supervi…"   10 seconds ago   Up 10 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp       laverna
AI 代码解读

3.查看容器运行日志


[root@server001 ~]# docker logs laverna 
2022-11-15 05:09:48,499 CRIT Supervisor running as root (no user in config file)
2022-11-15 05:09:48,500 INFO supervisord started with pid 7
2022-11-15 05:09:49,503 INFO spawned: 'nginx' with pid 10
2022-11-15 05:09:49,504 INFO spawned: 'php5-fpm' with pid 11
2022-11-15 05:09:50,516 INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2022-11-15 05:09:50,517 INFO success: php5-fpm entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
AI 代码解读

五、设置Laverna登录密码

image.png

六、访问Laverna

image.png
image.png

目录
打赏
0
2
2
0
1262
分享
相关文章
Docker部署RocketMQ5.2.0集群
本文详细介绍了如何使用Docker和Docker Compose部署RocketMQ 5.2.0集群。通过创建配置文件、启动集群和验证容器状态,您可以快速搭建起一个RocketMQ集群环境。希望本文能够帮助您更好地理解和应用RocketMQ,提高消息中间件的部署和管理效率。
168 91
Docker 部署 Redis
在使用 Docker 部署 Redis 时,为实现数据持久化,需正确挂载容器内的数据目录到宿主机。推荐命令如下: ``` docker run -d --name redis -v /mnt/data/redis:/data -p 6379:6379 redis ``` 该命令将宿主机的 `/mnt/data/redis` 目录挂载到容器的 `/data` 目录,确保 Redis 数据持久化。此路径更通用,适合大多数场景。避免使用不匹配的挂载路径,如 `/var/lib/redis` 或 `/mnt/data/redis` 到非默认目录,以防止数据无法正确持久化。
美团面试:MySQL为什么 不用 Docker部署?
45岁老架构师尼恩在读者交流群中分享了关于“MySQL为什么不推荐使用Docker部署”的深入分析。通过系统化的梳理,尼恩帮助读者理解为何大型MySQL数据库通常不使用Docker部署,主要涉及性能、管理复杂度和稳定性等方面的考量。文章详细解释了有状态容器的特点、Docker的资源隔离问题以及磁盘IO性能损耗,并提供了小型MySQL使用Docker的最佳实践。此外,尼恩还介绍了Share Nothing架构的优势及其应用场景,强调了配置管理和数据持久化的挑战。最后,尼恩建议读者参考《尼恩Java面试宝典PDF》以提升技术能力,更好地应对面试中的难题。
如何通过pm2以cluster模式多进程部署next.js(包括docker下的部署)
通过这些步骤,可以确保您的Next.js应用在多核服务器上高效运行,并且在Docker环境中实现高效的容器化管理。
74 44
让Docker日臻完善的8个优秀工具
一眨眼,你可能错过如今Docker领域最值得关注的动向之一。除了Docker本身的进步外,其他许多实用的项目都建立在Docker的基础上,或者得到Docker的支持。
1312 0
docker容器为啥会开机自启动
通过配置适当的重启策略,Docker容器可以在主机系统重启后自动启动。这对于保持关键服务的高可用性和自动恢复能力非常有用。选择适合的重启策略(如 `always`或 `unless-stopped`),可以确保应用程序在各种情况下保持运行。理解并配置这些策略是确保Docker容器化应用可靠性的关键。
241 93
Docker+consul容器服务的更新与发现
通过本文的介绍,我们详细探讨了如何结合Docker和Consul来实现容器服务的更新与发现。通过Consul的服务注册和发现功能,可以高效地管理和监控容器化服务,确保系统的高可用性和可扩展性。希望本文能帮助您在实际项目中更好地应用Docker和Consul,提高系统的可靠性和管理效率。
47 23
ubuntu22 编译安装docker,和docker容器方式安装 deepseek
本脚本适用于Ubuntu 22.04,主要功能包括编译安装Docker和安装DeepSeek模型。首先通过Apt源配置安装Docker,确保网络稳定(建议使用VPN)。接着下载并配置Docker二进制文件,创建Docker用户组并设置守护进程。随后拉取Debian 12镜像,安装系统必备工具,配置Ollama模型管理器,并最终部署和运行DeepSeek模型,提供API接口进行交互测试。
183 15
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
308 78
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
176 6
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结