hicasper / docker-1panel

Docker方式运行的1Panel;1Panel running in Docker

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

简介

偶然看到1panel-dood的关于docker部署1panel的方法,确实好想法,点赞。

受到启发编写了一下相关文件,把1panel套娃一下。

1panel-dood有所不同的是,我是以替换二进制文件的形式来的,

因为如果使用原始安装脚本作为启动命令,当更换容器时,需要事先备份数据库文件,否则会出现数据库覆盖问题。

单主程序的好处了,正好是和之前适配1Panel 应用商店的非官方应用适配库写的GO语言的应用的Dockerfile异曲同工。

1. 注意事项

由于容器内部systemd限制,部分功能目前尚不完整,等待后面找一个好使的systemctl镜像来运行。

如果更新了更高版本的镜像,实际是更新了对应版本的二进制程序,面板显示的相关版本还需要手动更新。

相关操作查看下文。


  • 默认端口:10086
  • 默认账户:1panel
  • 默认密码:1panel_password
  • 默认入口:entrance

  • 不可调整参数
    • /var/run/docker.sock的相关映射

  • 可调整参数

推荐使用/opt路径,否则有些调用本地文件的应用可能出现异常

  • /opt:/opt 文件存储映射
  • TZ=Asia/Shanghai 时区设置
  • 1panel 容器名

架构平台对应镜像

  • amd64
docker pull moelin/1panel:latest
  • arm64
docker pull moelin/1panel:latest-arm64
  • armv7
docker pull moelin/1panel:latest-armv7
  • ppc64le
docker pull moelin/1panel:latest-ppc64le
  • s390x
docker pull moelin/1panel:latest-s390x

2. docker方式安装

# amd64
docker run -d \
    --name 1panel \
    --restart always \
    --network host \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v /opt:/opt \
    -e TZ=Asia/Shanghai \
    moelin/1panel:latest

3. docker-compose方式安装

创建一个docker-compose.yml文件,内容类似如下

# amd64
version: '3'
services:
  1panel:
    container_name: 1panel # 容器名
    restart: always
    network_mode: "host"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /opt:/opt  # 文件存储映射
    environment:
      - TZ=Asia/Shanghai  # 时区设置
    image: moelin/1panel:latest
    labels:  
      createdBy: "Apps"

然后docker-compose up -d运行

4. 修改面板显示版本

4.1 安装SQLite3

Debian系统为例,其他系统对应更改包管理器命令。

  • Debian/Ubuntu: apt-get
  • RedHat/CentOS: yum
# 更新软件包列表
apt-get update

# 安装 SQLite3,并自动回答所有提示为“是”
apt-get install sqlite3 -y

4.2 修改面板显示版本

  • 获取文件存储实际路径

在宿主机上的实际路径,假设如下

/opt
  • 备份旧数据库
# 将原始数据库文件备份为 .bak 文件
cp /opt/1panel/db/1Panel.db /opt/1panel/db/1Panel.db.bak
  • 打开数据库文件
# 打开 SQLite3 数据库
sqlite3 /opt/1panel/db/1Panel.db
  • 修改版本信息,按需修改v1.5.2
UPDATE settings
SET value = 'v1.5.2'
WHERE key = 'SystemVersion';
  • 退出修改
.exit
  • 重启面板应用更改
# 重新启动 1panel 容器
docker restart 1panel

About

Docker方式运行的1Panel;1Panel running in Docker


Languages

Language:Dockerfile 67.8%Language:Shell 32.2%