docker - Raspberry Pi 4 上的 Nginx 反向代理管理器在重启后不会自动启动
问题描述
我使用 docker 和 docker-compose 在我的 Raspberry Pi 上设置了 Jamie Curnow 的 Nginx 反向代理管理器。
这是 yml 堆栈文件:
---
version: '3'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
ports:
- '80:80' #HTTP Traffic
- '81:81' #Dashboard Port
- '443:443' #HTTPS Traffic
volumes:
- ./config.json:/app/config/production.json
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
db:
image: 'jc21/mariadb-aria:10.4'
environment:
MYSQL_ROOT_PASSWORD: 'npm'
MYSQL_DATABASE: 'npm'
MYSQL_USER: 'npm'
MYSQL_PASSWORD: 'npm'
volumes:
- ./data/mysql:/var/lib/mysql
(我使用不同的密码)
现在,我已经使用 .c 编写过它sudo docker-compose up -d
,但是,每当我使用sudo reboot
Raspberry Pi 时,它都不会作为服务启动。
这是我的树莓派内核,顺便说一句:
Linux Pi-Server 5.10.17-v7l+ #1403 SMP Mon Feb 22 11:33:35 GMT 2021 armv7l GNU/L
这是我的操作系统版本:
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 10 (buster)
Release: 10
Codename: buster
有趣的是,每当我尝试sudo docker-compose up -d
再次使用它重构它时,我都会得到以下输出:
Starting nginx_db_1 ... done
Starting nginx_app_1 ... done
之后,Curnow 先生的 Nginx 和它的 GUI 都工作了。
除了每次在启动时运行这个 docker-compose 之外,还有更奇特的方法吗?
解决方案
主机——docker服务级别
更新:最初的答案适用于 docker 本身。如果您希望 docker 本身也可以在启动时启动,那就另当别论了。你应该能够做到这一点:
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
VM -- docker 容器级别 (nginx)
您绝对可以在启动时启动 nginx 服务。
这些命令是不言自明的——启用、禁用和检查启动时运行 nginx 的状态:
sudo systemctl enable nginx
sudo systemctl disable nginx
sudo systemctl status nginx
资源:
如果您无法使用此功能,请告诉我,我将尝试寻找其他方法并更新我的答案。
推荐阅读
- javascript - 如何从一个域向另一个域发送和接收数据?
- python - 如何在不更改页面的情况下上传文件
- ios - AVFoundation - raw 冻结相机预览后的深度数据捕获 (captureSessionIsMissing)
- android - Sugar orm 更新错误
- linux - 创建锁定文件时防止竞争条件
- angular - 如何使用 loopback-sdk-builder 实现嵌套查询?
- sql-server-2017 - 选择到#TempTable
- dart - Flutter:使用 Backbutton 功能设置 tabindex,就像在带有底部导航栏的 twitter 中一样?
- android - 无法在后台线程上调用 observeForever
- php - 执行命令的 shell 脚本时,主管标准输出日志为空