带有ssh的nonebot容器
小于 1 分钟
带有ssh的nonebot容器
1. 编写宝塔安装脚本
# 使用官方的 Python 镜像作为基础镜像
FROM python:3.9-slim
# 安装必要的依赖工具
RUN apt-get update && \
apt-get install -y --no-install-recommends \
ssh \
vim \
sudo \
&& rm -rf /var/lib/apt/lists/*
# 安装 pipx
RUN python -m pip install --user pipx && \
python -m pipx ensurepath
# 设置环境变量
ENV PATH="/root/.local/bin:${PATH}"
# 安装 nb-cli
RUN pipx install nb-cli
# 配置 SSH
RUN mkdir /var/run/sshd
# 设置 root 密码
RUN echo 'root:password' | chpasswd
# 允许 root 用户通过 SSH 登录
RUN sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config && \
sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config
# 暴露 SSH 端口
EXPOSE 22
# 启动 SSH 服务
CMD ["/usr/sbin/sshd", "-D"]
2. 构建和运行容器
- 将上述 Dockerfile 内容保存到一个名为
Dockerfile
的文件中。 - 在终端中导航到该 Dockerfile 所在的目录,然后运行以下命令来构建 Docker 镜像:
docker build -t nonebot-ssh-root .
- 构建完成后,运行以下命令来启动容器:
docker run -d -p 2222:22 -p 8088:8080 --name nonebot-ssh-container nonebot-ssh
- 使用 SSH 连接到运行中的容器,使用 root 用户:
ssh root@localhost -p 2222
密码是 password
,连接成功后,你可以使用 nb
命令来使用 NoneBot 的脚手架。