Ubuntu22.04安装docker并启动 dnote服务

Dnote 是一款简单的命令行笔记本。单一二进制文件,无依赖项。自 2017 年起开发。

您的笔记存储在一个 SQLite 文件中------可移植、可搜索,并且完全由您掌控。可通过自托管服务器实现设备间同步,并提供 REST API 访问。

Dnote提供了docker版本的服务软件,若要实现,需要先安装docker

安装docker软件

复制代码
sudo apt install docker-compose-v2

启动docker

复制代码
sudo service docker start

尝试加速

把加速镜像地址写到配置文件/etc/docker/daemon.yml

写完后重启服务。具体见后面配置最新镜像部分。

禁用ipv6(弯路,非必要)

因为docker拉软件失败,报错说服务器不通,为了测试通联,用了ping命令,发现系统用的ipv6解析。

当时怀疑是因为这导致docker拉软件失败,所以决定临时禁用ipv6

复制代码
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1

配置最新的镜像

尝试了很多次,发现以前的很多镜像都不能用了。

从这里找到最新的镜像:容器镜像监控

将配置加入/etc/docker/daemon.json

复制代码
// 将以下配置保存到 
// Windows: %programdata%\docker\config\daemon.json
// macOS/Linux: ~/.docker/daemon.json
// Linux: /etc/docker/daemon.json
// 保存后需要重启 Docker 服务:
//   Linux: sudo systemctl restart docker
//   或: sudo service docker restart
//   macOS: 重启 Docker Desktop
//   Windows: 重启 Docker Desktop
{
    "registry-mirrors": [
        "https://docker.1ms.run",
        "https://docker.1panel.live",
        "https://docker.m.ixdev.cn",
        "https://hub.rat.dev",
        "https://dockerproxy.net"
    ]
}

重启服务

复制代码
sudo service docker restart

ok,终于能通了

启动dnote服务测试

用的dnote,终于能下载docker啦!

配置docker文件

compose.yml文件内容:

复制代码
services:
  dnote:
    image: dnote/dnote:latest
    container_name: dnote
    ports:
      - 3001:3001
    volumes:
      - ./dnote_data:/data
    restart: unless-stopped

启动docker dnote server

复制代码
sudo docker compose up

启动信息如下:

复制代码
[+] Running 1/1
[+] Running 1/2te_default  Created                                                                                  0.6s
[+] Running 1/2te_default  Created                                                                                  0.6s
[+] Running 1/2te_default  Created                                                                                  0.6s
[+] Running 1/2te_default  Created                                                                                  0.6s
[+] Running 1/2te_default  Created                                                                                  0.6s
[+] Running 1/2te_default  Created                                                                                  0.6s
[+] Running 1/2te_default  Created                                                                                  0.6s
[+] Running 2/2te_default  Created                                                                                  0.6s
 ✔ Network dnote_default  Created                                                                                  0.6s ⠦ Container dnote        Creating                                                                                 0.7s
 ✔ Container dnote        Created                                                                                  0.7s
Attaching to dnote
dnote  | {"level":"info","msg":"Database schema version.","ts":"2026-01-17T09:30:51.006933082Z","ts_unix":1768642251,"version":0}

一切都ok了。

相关推荐
tntxia21 小时前
linux curl命令详解_curl详解
linux
扛枪的书生1 天前
Linux 网络管理器用法速查
linux
顺风尿一寸1 天前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux
lichenyang4531 天前
Docker 学习笔记(五):Docker Compose,用一个 YAML 启动前端、后端和 MongoDB
docker
lichenyang4531 天前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器
lichenyang4531 天前
Docker 学习笔记(三):Docker 网络、bridge、子网和容器互通
docker·容器
lichenyang4531 天前
Docker 学习笔记(二):docker run 的参数到底在控制什么?
docker·容器
XIAOHEZIcode1 天前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
唐青枫1 天前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux
AlfredZhao3 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80