• 【小型网站测试】使用python脚本来控制docker容器的编排


    开发情况的描述

    1:本地主机windows系统
    2:windows主机,无法直接执行shell脚本
    3:windows主机中有WSL2--也就是安装了linux子系统【ubuntu】
    4:ubuntu中可以执行shell脚本
    5:有docker  docker desktop(docker桌面版) docker compose
    6:服务器是centos系统,可以执行shell脚本
    7:容器中也存在shell脚本,容器中默认可执行shell脚本
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    希望达到效果:一种脚本来控制容器的执行–并后续发送命令

    方式一:失败
    1:使用shell脚本,直接让本地主机和centos服务器 使用同一个shell脚本来进行控制容器
    ----
    结果---失败
    1:unbuntu中可以通过shell脚本方式控制容器-----OK
    2:centos服务器中可以通过shell脚本,-----OK
    3:windows主机中通过wsl终端来执行shell脚本控制docker容器会出现无法访问容器ip情况
    -报错--未知--未能找到答案
    ----
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    方式二:成功
    1:windows         主机种使用python脚本来进行控制容器编排等的后续发送命令--OK
    2:windows的linux子系统中使用python脚本来进行控制容器编排等的后续发送命令--OK
    2:centos          系统中使用python脚本来进行控制容器编排等的后续发送命令--OK
    
    • 1
    • 2
    • 3

    python脚本中所需要的插件

    os
    docker
    
    • 1
    • 2
    1:可以通过 os库来执行 
    docker compose build
    docker compose up -d
    2:需要连接到容器服务组的操作需要docker 库
    通过pip方式来安装docker库插件[pip install docker]
    
    • 1
    • 2
    • 3
    • 4
    • 5

    下面是centos 服务器中额外安装python的方式

    因为华为服务器中的centos7版本的自带python2.7 和python 3.6版本
    需求:在服务器中安装python3.10.13版本【稳定版本】 并且安装最新版本的pip
    注意:

    1:这里会使用到华为的镜像源
    2:如果无法通过脚本脚本方式安装,请按照以下命令手动输入安装
    #!/bin/sh
    
    #更新centos7的源
    cp -a /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
    wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
    yum clean all
    yum makecache
    yum repolist all
    
    #更新yum   安装python所需的插件--并且添加openssl11的软连接到旧版本的openssl中
    yum update -y
    yum install -y gcc openssl openssl-devel libffi-devel bzip2-devel openssl11 openssl11-devel openssl11-static
    ln -sf /usr/lib64/pkgconfig/openssl11.pc /usr/lib64/pkgconfig/openssl.pc
    
    # 下载python3.10.13版本的安装包----因为无法通过yum 安装python3.10版本
    cd /home/sh/
    wget https://www.python.org/ftp/python/3.10.13/Python-3.10.13.tgz
    
    # 解压安装包--进行安装python3.10.13
    tar zxf Python-3.10.13.tgz --no-same-owner
    sleep 5s
    cd Python-3.10.13
    ./configure --enable-optimizations
    make
    make altinstall
    
    #make altinstall 表示不通过覆盖旧版本的python 安装新版本的python3.10
    # 本文件存放于 /home/sh/test.sh
    # 执行本脚本的命令
    # bash /home/sh/test.sh
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
  • 相关阅读:
    Qt5开发从入门到精通——第二篇(控件篇)
    记录:C++打印堆栈信息并优化打印结果
    Redis 分布式锁
    Python——基础
    基于SpringBoot的社团管理系统的设计与实现
    基于Zookeeper实现的分布式可重入锁
    2022-06-28管理心得
    虚拟DOM
    [node文件的上传和下载]一.node实现文件上传;二、Express实现文件下载;三、遍历下载文件夹下的文件,拼接成一个下载的url,传递到前端
    【JavaEE初阶】 CSS的引入方式和选择器
  • 原文地址:https://blog.csdn.net/weixin_47021806/article/details/133517696