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

开发情况的描述

c 复制代码
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脚本

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

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

python脚本中所需要的插件

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

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

因为华为服务器中的centos7版本的自带python2.7 和python 3.6版本

需求:在服务器中安装python3.10.13版本【稳定版本】 并且安装最新版本的pip

注意:

1:这里会使用到华为的镜像源
2:如果无法通过脚本脚本方式安装,请按照以下命令手动输入安装
c 复制代码
#!/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
相关推荐
vvoennvv19 分钟前
【Python TensorFlow】BiTCN-BiLSTM双向时间序列卷积双向长短期记忆神经网络时序预测算法(附代码)
python·rnn·tensorflow·lstm·tcn
程序定小飞26 分钟前
基于springboot的汽车资讯网站开发与实现
java·开发语言·spring boot·后端·spring
大米粥哥哥41 分钟前
Qt 使用QAMQP连接RabbitMQ
开发语言·qt·rabbitmq·qamqp
yivifu1 小时前
精益求精,支持处理嵌套表格的Word表格转HTML表格
开发语言·c#·word
沐知全栈开发1 小时前
PHP MySQL WHERE 子句详解
开发语言
糖纸风筝1 小时前
Java指南:eclipse、java-activemq与测试验证
java·开发语言·学习
小坏讲微服务1 小时前
整合Spring Cloud Alibaba与Gateway实现跨域的解决方案
java·开发语言·后端·spring cloud·云原生·gateway
q***97911 小时前
从零到上线:Node.js 项目的完整部署流程(包含 Docker 和 CICD)
docker·容器·node.js
码上成长1 小时前
<script setup> 实战模式:大型组件怎么拆?
开发语言·javascript·vue.js
程序员爱钓鱼1 小时前
Python 实战:如何读取多格式 Excel 并实现跨表匹配合并(支持 XLS / XLSX)
后端·python·面试