Docker搭建calibre-web

一、基本命令回顾

  1. 识别正在运行的容器: 使用docker ps(不带-a选项)来列出所有正在运行的容器:
sudo docker ps

这里列出了6个容器,但是没有一个容器是在运行状态的。所有容器的状态都是Exited,这意味着它们都已停止运行。状态码(127)通常表示命令执行失败,而状态码(0)表示容器正常退出。

  1. 查看容器详情: 如果需要,可以使用docker inspect命令来获取容器的详细信息,包括容器的状态、网络设置、挂载卷等:
sudo docker inspect <container_id_or_name>
  1. 停止容器: 要停止一个正在运行的容器,使用docker stop命令,后面跟上容器的ID或名称:
sudo docker stop <container_id_or_name>
  1. 删除容器: 如果容器不再需要,可以将其删除以释放资源:
sudo docker rm <container_id_or_name>
  1. 关闭所有不需要的容器: 如果你想要停止所有正在运行的容器,可以使用以下命令:
sudo docker stop $(docker ps -q)

这里$(docker ps -q)生成了所有正在运行的容器的ID列表。

  1. 删除所有已停止的容器: 要删除所有已停止的容器,可以使用:
sudo docker rm $(docker ps -a -q)

注意,这个命令会删除所有容器,包括正在运行的和已停止的。-a选项用于列出所有容器,-q选项输出仅容器ID。

二、下载好Calibre-web,执行

2.1 直接Pull下Calibre

docker pull calibre-web

2.2 直接将Calibre-web的8080和8083端口映射至本机CentOS对应的8080和8083

docker run -d --name calibre-web2 -p 10.10.8.188:8080:8080 -p 10.10.8.188:8083:8083 johngong/calibre-web

这里解释一下命令的各个部分:

  • docker run:这是运行Docker容器的命令。
  • -d:这个选项告诉Docker在后台运行容器。
  • --name calibre-web3:这将容器命名为 calibre-web3
  • -p 8080:8080:这将容器的8080端口映射到宿主机的8080端口。
  • -p 8083:8083:这将容器的8083端口映射到宿主机的8083端口。
  • johngong/calibre-web:这是你想要使用的Docker镜像的名称。

执行这个命令后,你的容器将开始运行,并且你可以通过访问 http://10.10.8.188:8080http://10.10.8.188:8083 来访问映射的端口。

docker start calibre-web2

2.2 进行Calibre-web操作系统 中

docker exec -it calibre-web2 /bin/bash

这里的命令解释如下:

  • sudo:以超级用户权限执行命令(如果您不需要超级用户权限,可以省略此部分)。
  • docker exec:用于在已运行的容器中执行命令。
  • -it-i代表interactive(交互式),-t代表分配一个伪终端,这两者结合起来允许您像在本地终端一样与容器内的进程交互。
  • calibre-web:容器的名称,用于指定在哪个容器中执行命令。
  • /bin/bash:您想要在容器中运行的命令,这里是启动Bash shell。

执行上述命令后,您将进入calibre-web容器的Bash环境,可以执行各种命令来管理您的容器。

2.3 查看web应用程序状态

利用docker ps 来查看容器状态

docker ps -l

docker ps

Note: 默认的 docker ps 不加参数将只会展现正在运行对容器,使用docker ps -a 将展现所有状态的容器

在POTS栏中,我们可以查看到端口映射。

PORTS

10.10.8.188:8080->8080/tcp

当我们使用-P参数时,docker将会给主机指定容器暴露的所有端口。

三、成功安装成功,在能访问10.10.8.188,访问网站

3.1 直接访问(成功登录)

http://10.10.8.188:8080/

http://10.10.8.188:8083/ 

上面默认账号密码admin/admin或admin/admin123

3.2 忘记密码或找不到密码里(密码错误)

试下默认密码admin/admin或admin/admin123,但不行的话,就重置下密码,

python3 /usr/local/calibre-web/cps.py -p app.db -s admin:password

新的账号密码admin/password


3.3 Calibre-Web的使用

3.3.1 访问Calibre-Web

  • 首先,确保你的Calibre-Web容器正在运行。你可以通过访问 http://<宿主机IP>:8080 来访问Calibre-Web的Web界面,其中 <宿主机IP> 替换为你的CentOS主机的IP地址(例如,http://10.10.8.188:8080)。

3.3.2 首次运行配置

首次访问Calibre-Web时,你可能需要进行一些初始设置,比如设置管理员密码、选择语言等。

3.3.3 配置书籍库

  • Calibre-Web默认会使用容器内的/srv/calibre目录作为书籍库。你可以通过挂载卷的方式将宿主机上的目录映射到这个路径,从而管理你的书籍文件。例如:
  • docker run -d --name calibre-web2 -p 8080:8080 -p 8083:8083 -v /path/to/your/books:/srv/calibre johngong/calibre-web

    其中 /path/to/your/books 是你宿主机上的书籍存储路径。

3.3.4 设置定时任务

  • 如果你希望Calibre-Web定时执行某些任务(如自动更新书籍元数据),你可以在宿主机上设置定时任务(cron job)。例如,编辑crontab:
crontab -e

然后添加一行来定时运行Calibre-Web的某些命令。

3.3.5 更新和维护

  • 定期检查并更新你的Calibre-Web容器,以确保你使用的是最新和最安全的版本。你可以使用以下命令来更新容器:
  • docker pull johngong/calibre-web
    docker stop calibre-web2
    docker run -d --name calibre-web2 -p 8080:8080 -p 8083:8083 -v /path/to/your/books:/srv/calibre johngong/calibre-web

四、常用日常运维的命令

4.1 查看容器的网络端口

docker ps

这将列出所有运行的容器及其映射的端口。

4.2 查看web应用日志

docker logs calibre-web2

4.3 查看web应用容器中的进程

根据容器的日志信息,我们可以利用 docker top 指令查看容器内的进程信息

docker top 容器名称或ID

docker top calibre-web2

4.4 审查(inspect)web应用容器

利用docker inspect 查看一个容器的详细信息(包括运行状态)或者镜像的配置信息,展现出来的是一个json文件。

docker inspect 容器名称或ID

我们可以使用-f参数里筛选出需要的信息

docker inspect -f '{{ .NetworkSettings.IPAddress }}' calibre-web2

要获取容器的IP地址,你可以使用以下命令:

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' calibre-web2

这个命令会遍历容器的所有网络设置,并打印出每个网络的IP地址。如果你的容器只连接到了一个网络,它将只打印出一个IP地址。

如果你想要获取更详细的网络设置,可以使用以下命令:

docker inspect -f '{{json .NetworkSettings}}' calibre-web2

这将返回容器的NetworkSettings字段的JSON表示,包括所有网络接口的详细信息。

4.5 停止web应用容器

docker stop 容器名称或ID

4.6 重启web应用容器

docker restart 容器名称或ID

4.7 删除web应用容器

docker rm 容器名称或ID

以下是搭建私服镜像中心docker-registry和docker-registry-web的步骤: 1.安装DockerDocker Compose 2.创建一个目录来存储docker-compose.yml文件和证书文件 3.创建docker-compose.yml文件并添加以下内容: ```yaml version: '3' services: registry: restart: always image: registry:2 ports: - 5000:5000 environment: REGISTRY_AUTH: htpasswd REGISTRY_AUTH_HTPASSWD_PATH: /auth/htpasswd REGISTRY_AUTH_HTPASSWD_REALM: Registry Realm REGISTRY_STORAGE_DELETE_ENABLED: "true" REGISTRY_HTTP_TLS_CERTIFICATE: /certs/domain.crt REGISTRY_HTTP_TLS_KEY: /certs/domain.key volumes: - ./data:/var/lib/registry - ./auth:/auth - ./certs:/certs registry-web: restart: always image: mkuchin/docker-registry-web:v0.1.2 ports: - 8080:8080 environment: REGISTRY_URL: https://registry:5000 REGISTRY_WEB_TITLE: Docker Registry REGISTRY_AUTH: htpasswd REGISTRY_AUTH_HTPASSWD_PATH: /auth/htpasswd REGISTRY_AUTH_HTPASSWD_REALM: Registry Realm REGISTRY_HTTP_TLS_CERTIFICATE: /certs/domain.crt REGISTRY_HTTP_TLS_KEY: /certs/domain.key volumes: - ./auth:/auth - ./certs:/certs ``` 4.创建一个目录来存储证书文件和htpasswd文件 5.生成证书文件 ```shell openssl req -newkey rsa:4096 -nodes -sha256 -keyout domain.key -x509 -days 365 -out domain.crt ``` 6.生成htpasswd文件 ```shell htpasswd -Bc auth/htpasswd <username> ``` 7.启动docker-compose ```shell docker-compose up -d ``` 8.访问https://<your-domain>:8080,输入用户名和密码即可登录docker-registry-web界面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值