import os
import shutil
import tarfile
import subprocess
import io
scripts_dri = "/server/tools/"
#project_esl="/usr/local/esl"
if not os.path.exists(scripts_dri):
os.mkdir(scripts_dri)
base_dir=os.path.dirname(os.path.abspath(__file__))
pkg=os.path.join(base_dir,'pkg')
project_esl=os.path.abspath(os.path.join(os.getcwd(), ".."))
msg = '''
请输入您要执行的操作:“安装install or ins” 或者 “卸载 uninstall or uni”
Please enter the action you want to perform:"install" | "uninstall"
'''
class InstallDokcer:
def install(self):
try:
load=os.system('dpkg -i pkg/libltdl7_2.4.6-0.1_amd64.deb pkg/docker-ce_18.06.3~ce~3-0~ubuntu_amd64.deb >>/dev/null')
print()
print("当前Dokcer版本:{}".format(os.popen('docker -v').readlines()))
img_dir="/usr/local/esl/docker-images"
docker_img=os.listdir(img_dir)
print()
for i in docker_img:
if i.endswith('.gz'):
os.system('docker load -i %s/%s >/dev/null 2>&1' %(img_dir,i))
print("import image>:{}".format(i))
os.chdir(project_esl)
print()
os.system('./docker-compose up -d --build >>/dev/null 2>&1; docker ps')
except:
print("Failed")
class UninstallDokcer:
def uninstall(self):
try:
print("Uninstall the docker service")
os.chdir(project_esl)
os.system('./docker-compose stop >>/dev/null 2>&1; systemctl stop docker')
undocker=os.system("apt-get autoremove docker-ce-* -y >>/dev/null 2>&1")
os.system('rm -rf /etc/default/docker /etc/default/docker; umount /run/docker/netns/default; rm -rf /var/run/docker\
rm -rf /var/lib/docker\
rm -rf /etc/docker\
')
net_tool=os.popen("brctl show |awk 'NR>1{print $1}'").readlines()
for i in net_tool:
down=os.system('ifconfig {} down'.format(i.strip()))
if down ==0:
os.system('brctl delbr {}'.format(i.strip()))
except:
print("program exception.")
class Install(InstallDokcer, UninstallDokcer):
def install_docker(self):
print(msg)
res = input("please enter>>:").strip()
if res == "install" or res == "ins":
obj.install()
elif res == "uninstall" or res == "uni":
obj.uninstall()
else:
print("install or uninstall")
return
if __name__ == "__main__":
obj = Install()
obj.install_docker()
ubuntu系统离线安装卸载docker
最新推荐文章于 2024-08-31 20:44:48 发布