开发情况描述
1:本地主机windows系统2:windows主机,无法直接执行shell脚本3:windows主机中有WSL2--也就是安装了linux子系统【ubuntu】4:ubuntu中可以执行shell脚本5:有dockerdocker desktop(docker桌面版) docker compose6:服务器是centos系统,可以执行shell脚本7:容器中也存在shell脚本,容器中默认可执行shell脚本
希望达到效果:一种脚本来控制容器的执行–并后续发送命令
方式一:失败
1:使用shell脚本,直接让本地主机和centos服务器 使用同一个shell脚本来进行控制容器----结果---失败1:unbuntu中可以通过shell脚本方式控制容器-----OK2:centos服务器中可以通过shell脚本,-----OK3:windows主机中通过wsl终端来执行shell脚本控制docker容器会出现无法访问容器ip情况-报错--未知--未能找到答案----
方式二:成功
1:windows 主机种使用python脚本来进行控制容器编排等的后续发送命令--OK2:windows的linux子系统中使用python脚本来进行控制容器编排等的后续发送命令--OK2:centos系统中使用python脚本来进行控制容器编排等的后续发送命令--OK
python脚本中所需要的插件
osdocker
1:可以通过 os库来执行 docker compose builddocker compose up -d2:需要连接到容器服务组的操作需要docker 库通过pip方式来安装docker库插件[pip install docker]
下面是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.bakwget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repoyum clean allyum makecacheyum repolist all#更新yum 安装python所需的插件--并且添加openssl11的软连接到旧版本的openssl中yum update -yyum install -y gcc openssl openssl-devel libffi-devel bzip2-devel openssl11 openssl11-devel openssl11-staticln -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.13tar zxf Python-3.10.13.tgz --no-same-ownersleep 5scd Python-3.10.13./configure --enable-optimizationsmakemake altinstall#make altinstall 表示不通过覆盖旧版本的python 安装新版本的python3.10# 本文件存放于 /home/sh/test.sh# 执行本脚本的命令# bash /home/sh/test.sh