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

徐州建设局网站安全证东莞头条最新新闻

徐州建设局网站安全证,东莞头条最新新闻,私人让做彩票网站吗,金华网络公司网站建设目前有个python应用需要在容器镜像内拉取git私有仓库的代码#xff0c;一开始的想法是用GitPython#xff0c;折腾一番ssh私钥和known_hosts问题后#xff0c;发现还是在镜像中封装个git最省事#xff0c;然后用subprocess调用系统命令#xff0c;镜像体积也没有想象中增加…目前有个python应用需要在容器镜像内拉取git私有仓库的代码一开始的想法是用GitPython折腾一番ssh私钥和known_hosts问题后发现还是在镜像中封装个git最省事然后用subprocess调用系统命令镜像体积也没有想象中增加特别多。 准备ssh私钥和known_hosts文件 应用内通过repo的ssh url克隆和拉取仓库所以ssh私钥和known_hosts要封装到镜像中。 生成ssh密钥文件。一般来说提示输入直接回车即可。生成的$HOME/.ssh/id_ed25519为私钥文件是需要拷贝到镜像中的。$HOME/.ssh/id_ed25519.pub为公钥文件文件内容需要添加到远程仓库的ssh密钥配置中。 ssh-keygen -t ed25519 准备known_hosts文件文件内容可以从其它主机拷贝一份。其实ssh密钥文件也可以从其它主机拷贝只要对应的公钥在git远程仓库的ssh配置中即可。known_hosts文件内容示例。 gitee.com ssh-ed25519 AxxxxxxxxxxxxxxxxxxxxN 在项目目录中创建一个名为.ssh的目录然后把id_ed25519和known_hosts文件拷贝到这个目录下并修改文件权限为600。这个目录待会需要封装到镜像中。 chmod 600 id_ed25519 known_hosts 编写python代码 这里只是个demo拉取私有仓库的代码到本地然后拷贝出需要的目录或文件。注意代码里面用的都是容器内路径。 import subprocess import os import shutil repo_url gitgitee.com:zhangsan/scout.git repo_dir /tmp/scout def repo_clone():cmd fgit clone --depth1 --single-branch {repo_url} {repo_dir}if os.path.exists(repo_dir):print(f{repo_dir} has exist)returnruncmd(cmd) def repo_pull():cmd fcd {repo_dir};git pullruncmd(cmd)if not os.path.exists(f{repo_dir}/prod):print(f{repo_dir}/prod is not exist)returndest_path /home/zhangsan/app/prodif not os.path.exists(dest_path):os.makedirs(dest_path)shutil.copytree(f{repo_dir}/prod, dest_path, dirs_exist_okTrue) def runcmd(command):ret subprocess.run(command, shellTrue,stdoutsubprocess.PIPE,stderrsubprocess.STDOUT,encodingutf-8,timeout10,)if ret.returncode 0:print(success)print(ret.stdout)else:print(ffail code: {ret.returncode})print(ret.stdout) if __name__ __main__:repo_clone()repo_pull() Dockerfile 目录层级如下 . ├── app │ └── demo.py ├── Dockerfile └── .ssh├── id_ed25519└── known_hosts 编写Dockerfile文件 FROM python:3.8-alpine # 1. 修改apline镜像源 # 2. 安装git和ssh客户端并删除apk缓存 # 3. 创建普通用户及其用户组 RUN sed -i s/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g /etc/apk/repositories \ apk add --no-cache git openssh \ rm -rf /tmp/* /root/.cache /var/cache/apk/* \ addgroup -g 1010 zhangsan \ adduser -s /bin/sh -G zhangsan -u 10101 -h /home/zhangsan zhangsan -D # 将相关文件添加到镜像中 ADD --chownzhangsan:zhangsan .ssh /home/zhangsan/.ssh ADD --chownzhangsan:zhangsan app /home/zhangsan/app # 指定运行用户, 工作目录和启动命令 USER zhangsan WORKDIR /home/zhangsan/app CMD python3 demo.py 打包docker镜像 docker build -t pygit:0.0.1 . 测试创建一个临时容器 docker run -it --rm --name pygit pygit:0.0.1 sh 在测试容器内测试能否正常执行 python3 demo.py
http://www.w-s-a.com/news/545746/

相关文章:

  • 重庆智能建站模板网站投票系统 js
  • 网站维护的内容和步骤网站做什么内容
  • 万网虚拟主机建网站wordpress协调世界时
  • 微网站建设方式应用大全网站
  • 网站速度测速织梦模板下载
  • 环保网站建设公司排名汉阴网站建设
  • 自己做网站的二维码wordpress用户权限在哪改
  • 网站使用说明书网站建设公司的介绍
  • 推广型网站免费建设网站防盗链设置
  • 建设银行网站查开户行网站反链暴增怎么回事
  • centos7做网站软件实施工程师工资一般多少
  • 专业房产网站建设深圳建设交易集团
  • 政务网站建设标准项目经理接到网站开发怎么开展
  • 网站框架设计好后怎么做网站广告销售怎们做
  • asp技校网站保定八大平台公司
  • wordpress网站前端优化网站备案批量查询
  • 北京企业做网站杭州seo中心
  • 护肤品网站建设前的行业分析wordpress电子书模板
  • 做网站怎么销售.net开发网站怎么样
  • 蚌埠网站优化网站换空间wordpress
  • 微网站开发框架公司企业logo
  • 大淘客官网做的网站打不开网站建设完成
  • 婚纱摄影网站模板让别人做网站怎样才安全
  • 技术支持 骏域网站建设专家佛山网站运营管理教材
  • 个体营业执照可以做网站服务吗电商运营学校培训
  • 企业网站免费推广的方法.wordpress 爱情模板下载地址
  • 轻淘客 轻网站怎么做手机开发人员选项怎么打开
  • 天津做网站制作公司html网站 下载
  • 哪个网站的课件做的好crm客户管理系统全称
  • 网站建设工作室创业计划书seo是什么职位的简称