Skip to main content

Docker 安装

· One min read

欢迎访问 Docker 技术专栏!

一键安装:

curl -fsSL https://get.docker.com | bash -s docker

可在此命令后附带--mirror参数设置镜像源,以提高国内服务器下载docker的速度

如使用阿里云镜像:

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

Docker 快速部署 Pagermaid 自走Bot

· 2 min read
Mo
Software Engineer

新建yaml配置文件

vim compose.yaml

复制下面代码


version: '3.8'

services:
pagermaid:
image: shenzhenkxl/ubuntu_init:v1
container_name: pagermaid-pyro
restart: unless-stopped
working_dir: /var/lib/pagermaid
environment:
- PYTHONUNBUFFERED=1

command: |
bash -c "
apt update &&
apt install -y git python3-pip vim &&

# 如果没 clone 过,就 clone
if [ ! -d '/var/lib/pagermaid/.git' ]; then
echo '=== 首次启动,正在克隆 PagerMaid... ===' &&
cd /var/lib &&
git clone https://github.com/TeamPGM/PagerMaid-Pyro.git pagermaid &&
cd pagermaid &&
mkdir -p data &&
cp config.gen.yml ./data/config.yml &&
echo '=== PagerMaid 初始化完成 ==='
else
echo '=== 检测到已存在 PagerMaid,跳过克隆 ==='
fi &&

cd /var/lib/pagermaid &&

# 检查依赖是否需要重新安装
if [ ! -f '/var/lib/pagermaid/.deps_installed' ] || ! md5sum -c .deps_installed; then
echo '=== 安装或更新 Python 依赖 ===' &&
pip3 install -r requirements.txt &&
md5sum requirements.txt > .deps_installed
else
echo '=== 依赖未变化,跳过安装 ==='
fi &&

if [ ! -f '/var/lib/pagermaid/data/.configured' ]; then
echo '=== 等待交互配置,请运行: docker exec -it pagermaid-pyro bash ===' &&
echo '=== 然后在容器内运行: python3 -m pagermaid ===' &&
echo '=== 配置完成后会自动进入后台运行模式 ===' &&
while [ ! -f '/var/lib/pagermaid/data/.configured' ]; do
sleep 10
done
fi &&

echo '=== 进入后台运行模式 ===' &&
while true; do
python3 -m pagermaid &
PID=\$$!
sleep 7200
kill \$$PID 2>/dev/null
wait \$$PID 2>/dev/null
echo '定时重启 PagerMaid...'
done
"
tty: true
stdin_open: true

执行docker compose

docker compose up -d

等待初始化完成

docker logs -f pagermaid-pyro

出现下面内容的时候可以CTRL+C退出日志查看


=== PagerMaid 初始化完成 ===
=== 等待交互配置,请运行: docker exec -it pagermaid-pyro bash ===
=== 然后在容器内运行: python3 -m pagermaid ===
=== 配置完成后会自动进入后台运行模式 ===

进入容器进行登录初始化

docker exec -it pagermaid-pyro bash

进入容器之后执行

# 在容器内运行配置 
python3 -m pagermaid

# 配置 登录完成后 CTRL+C 退出上面的交互命令行 执行下面命令改变 标记
touch /var/lib/pagermaid/data/.configured

# 退出容器
exit

查看日志

docker logs -f pagermaid-pyro

出现 === 进入后台运行模式 === 说明配置完成.