当前位置: 首页 > news >正文

docker 按带ssh的python环境的容器

Dockerfile

# 使用官方 Python 3.12 on Debian 12 (bookworm)
FROM python:3.12-bookwormENV DEBIAN_FRONTEND=noninteractive \PYTHONUNBUFFERED=1 \TZ=Asia/Shanghai# 设置时区
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \echo "Asia/Shanghai" > /etc/timezone# 替换为清华大学 Debian 源(deb822 格式)
RUN echo "Types: deb\n\
URIs: https://mirrors.tuna.tsinghua.edu.cn/debian\n\
Suites: bookworm\n\
Components: main contrib non-free non-free-firmware\n\
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg\n\
\n\
Types: deb\n\
URIs: https://mirrors.tuna.tsinghua.edu.cn/debian-security\n\
Suites: bookworm-security\n\
Components: main contrib non-free non-free-firmware\n\
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg" \
> /etc/apt/sources.list.d/debian.sources# 安装 openssh-server
RUN apt-get update && \apt-get install -y --no-install-recommends openssh-server && \apt-get clean && \rm -rf /var/lib/apt/lists/*# 创建 SSH 所需目录
RUN mkdir -p /run/sshd# 允许 root 登录(仅测试用)
RUN sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config && \sed -i 's/UsePAM yes/UsePAM no/' /etc/ssh/sshd_config# 配置 pip 使用阿里云源
RUN pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/# 启动脚本:从环境变量 ROOT_PASSWORD 设置 root 密码
RUN echo '#!/bin/bash\n\
if [ -z "$ROOT_PASSWORD" ]; then\n\echo "Error: ROOT_PASSWORD environment variable not set."\n\echo "Please run with: -e ROOT_PASSWORD=your_password"\n\exit 1\n\
fi\n\
echo "root:$ROOT_PASSWORD" | chpasswd\n\
exec /usr/sbin/sshd -D\n' \
> /entrypoint.sh && chmod +x /entrypoint.shEXPOSE 22ENTRYPOINT ["/entrypoint.sh"]

创建镜像

docker build -t py-ssh .

运行容器

docker run -d --name my_ssh -p 2222:22 -e ROOT_PASSWORD='Password123' py-ssh

连接容器

ssh root@localhost -p 2222

进去之后输入上面生成的密码 Password123

http://www.dtcms.com/a/600815.html

相关文章:

  • 基于深度随机森林(Deep Forest)的分类算法实现
  • Ansible:高效自动化运维工具详解
  • 调用qwen3-omni的api对本地文件生成视频文本描述(批量生成)
  • 标签分类调研
  • 太原有网站工程公司吗网站建设预招标
  • 宁夏住房和城乡建设厅网站执业资格游戏门户网站建设
  • 社区养老保障|智慧养老|基于springboot+小程序社区养老保障系统设计与实现(源码+数据库+文档)
  • 基于springboot个性化定制的智慧校园管理系统【带源码和文档】
  • 12306自动抢票系统:基于DrissionPage的智能购票实战
  • 【内容检测 EXPO-HM】 优化训练方式 提升解释性与准确性
  • 医疗小程序05我的就诊卡
  • React与Vue 的声明式 UI 对比原理篇(1)
  • vue3实现列表无缝滚动
  • 如何开通自己的网站北京门户网站制作
  • 【前端面试】Vue篇
  • AI重塑IT职场:挑战与机遇并存
  • 微信小程序uniapp开发附源码——长图拼接
  • MySQL【表的内外连接】
  • 名字姓名起名打分评分抖音快手微信小程序看广告流量主开源
  • Windows下使用 Docker 安装MySQL
  • 微信小程序里用 setData() 修改数据并打印输出 的几种写法
  • 微信小程序map组件聚合簇样式自定义
  • 河北住房和城乡建设厅网站电话海报设计图片简单
  • 好的俄文网站设计大学学风建设专题网站
  • 领域驱动设计系列文章汇总
  • C++11拓展语法
  • 智慧医疗:FHIR R5、联邦学习与MLOps三位一体的AI产品化实战指南(下)
  • 创建一个达梦库需要多大空间
  • Redis_11_类型补充+命令补充+RESP
  • 网站设计哪家便宜seo网站做推广公司