笨方法学Python3

1.Python执行脚本从本地文件中读取docker镜像列表时,执行拉取docker镜像

要在Python中执行拉取Docker镜像的操作,可以使用subprocess模块来执行命令行命令。

以下是一个示例代码,它从本地文件中读取Docker仓库镜像列表,并使用docker pull命令拉取每个镜像:

import subprocess

def pull_docker_images(filename):
    with open(filename, 'r') as file:
        for line in file:
            image = line.strip()
            command = ['docker', 'pull', image]
            try:
                subprocess.run(command, check=True)
                print(f'Successfully pulled image: {image}')
            except subprocess.CalledProcessError as e:
                print(f'Error pulling image: {image}')
                print(e)

# 从文件中读取镜像列表并拉取
pull_docker_images('image_list.txt')

上述代码中,pull_docker_images函数接受一个文件名作为参数,并使用with open语句打开文件。然后,对于文件中的每一行,它使用strip方法去除行尾的空白字符,并将镜像名称存储在image变量中。

接下来,它构建一个命令列表,其中第一个元素是docker命令,第二个元素是pull命令,第三个元素是镜像名称。

然后,使用subprocess.run函数执行命令,并使用check=True参数来检查命令执行是否成功。如果命令执行成功,将打印成功消息;如果命令执行失败,将打印错误消息和异常。

最后,通过调用pull_docker_images函数,并传递要读取的镜像列表文件的名称,可以拉取所有镜像。请确保在运行此代码之前已经安装了Docker并配置了正确的环境。

docker批量修改tag

docker images | grep registry | sed 's/registry.baidu-int.com/registry.can6.com:5000\/baidu/g' | awk '{print "docker tag"" " $3" "$1":"$2}'|sh

#push镜像
for i in `docker images|grep registry.can6.com:5000/baidu |awk '{print $1":"$2}'`
    do
      docker push $i
    done

批量修改

docker images|grep regis|awk '{print $1":"$2}'|while read image; do new_images=$(echo $image|sed s#registry.baidu-int.com#test.harbor.icbccs.com.cn:10443/baidu#g); docker tag $image $new_images; done

2.编写python脚本读取文本中的镜像列表

以下是一个简单的Python脚本,用于读取文本文件中的镜像列表:

with open('image_list.txt', 'r') as f:
    for line in f:
        if line.startswith('image:'):
            image = line.strip().split(': ')[1]
            print(image)

假设镜像列表文件名为image_list.txt,该脚本将打开文件并逐行读取其内容。对于每一行,它会检查是否以image:开头,如果是,则提取出镜像名称并打印出来。请注意,此脚本假设每个镜像的名称都在以image:开头的行中,且名称是该行的第二个字段。如果实际情况不同,需要相应地修改代码。

3.Python脚本执行拉取docker镜像

可以使用Python的subprocess模块来执行命令行操作,比如拉取docker镜像。具体操作如下:

import subprocess

# 定义要拉取的镜像名称和标签
image_name = "nginx"
image_tag = "latest"

# 拉取镜像
process = subprocess.Popen(f"docker pull {image_name}:{image_tag}", shell=True, stdout=subprocess.PIPE)
output, error = process.communicate()

# 打印输出结果
if error:
    print(f"拉取镜像失败:{error}")
else:
    print(f"拉取镜像成功:{output.decode('utf-8')}")

在上述代码中,使用subprocess.Popen()方法执行命令行操作,其中shell参数需要设置为True,表示执行的是命令行脚本。stdout参数设置为subprocess.PIPE,表示将命令行输出结果保存到output变量中。最后使用communicate()方法获取命令行的输出结果,并将结果打印到控制台。

4.Python执行脚本从本地文件中读取docker仓库镜像列表时,执行拉取 docker 镜像

要在Python中执行拉取Docker镜像的操作,可以使用subprocess模块来执行命令行命令。

以下是一个示例代码,它从本地文件中读取Docker仓库镜像列表,并使用docker pull命令拉取每个镜像:

import subprocess

def pull_docker_images(filename):
    with open(filename, 'r') as file:
        for line in file:
            image = line.strip()
            command = ['docker', 'pull', image]
            try:
                subprocess.run(command, check=True)
                print(f'Successfully pulled image: {image}')
            except subprocess.CalledProcessError as e:
                print(f'Error pulling image: {image}')
                print(e)

# 从文件中读取镜像列表并拉取
pull_docker_images('image_list.txt')

上述代码中,pull_docker_images函数接受一个文件名作为参数,并使用with open语句打开文件。然后,对于文件中的每一行,它使用strip方法去除行尾的空白字符,并将镜像名称存储在image变量中。

接下来,它构建一个命令列表,其中第一个元素是docker命令,第二个元素是pull命令,第三个元素是镜像名称。

然后,使用subprocess.run函数执行命令,并使用check=True参数来检查命令执行是否成功。如果命令执行成功,将打印成功消息;如果命令执行失败,将打印错误消息和异常。

最后,通过调用pull_docker_images函数,并传递要读取的镜像列表文件的名称,可以拉取所有镜像。请确保在运行此代码之前已经安装了Docker并配置了正确的环境。

5.Python执行脚本从本地文件中读取docker镜像列表时,调用search接口查询结果,curl -X 'GET' \ 'https://harbor.com.cn/api/v2.0/search?q=python' \ -H 'accept: application/json'。将结果打印输出

你可以使用Python的requests库来发送HTTP请求并获取查询结果。以下是一个示例代码:

import requests

url = 'https://harbor.com.cn/api/v2.0/search?q=python'
headers = {'accept': 'application/json'}

response = requests.get(url, headers=headers)
result = response.json()

print(result)

这段代码发送一个GET请求到指定的URL,并使用指定的请求头。然后,将返回的响应解析为JSON格式,并将结果打印输出。请确保你已经安装了requests库,如果没有安装可以使用以下命令进行安装:

pip3 install requests

注意,你需要替换URL中的buddy为你要查询的镜像名称。

6.Python执行脚本从本地文件中读取docker镜像列表image_list时,调用search接口查询image,curl -X 'GET' \ 'https://harbor.com.cn/api/v2.0/search?q=buddy' \ -H 'accept: application/json'。将结果打印输出

 

你可以使用Python的requests库来发送HTTP请求并获取查询结果。以下是一个示例代码:

import requests

# 从文件中读取镜像列表
with open('image_list.txt', 'r') as file:
    image_list = file.readlines()

# 去除每个镜像名称中的换行符
image_list = [image.strip() for image in image_list]

# 遍历镜像列表,查询每个镜像的信息
for image in image_list:
    url = f'https://harbor.com.cn/api/v2.0/search?q={image}'
    headers = {'accept': 'application/json'}

    response = requests.get(url, headers=headers)
    result = response.json()

    print(f'Result for image {image}:')
    print(result)
    print()

这段代码首先从文件中读取镜像列表,并将每个镜像的名称存储在一个列表中。然后,遍历该列表,为每个镜像构建请求URL,并发送GET请求。最后,将返回的响应解析为JSON格式,并将结果打印输出。

请确保你已经安装了requests库,如果没有安装可以使用以下命令进行安装:

pip3 install requests

同时,请将代码中的image_list.txt替换为你存储镜像列表的文件路径。

7.python3 docker镜像地址 截取仓库和镜像名

请使用以下代码截取仓库和镜像名:

docker_image = "docker镜像地址"
repository, image_name = docker_image.split("/")

这将把仓库和镜像名分别存储在repositoryimage_name变量中。

8.python3 docker镜像地址截去镜像地址,只留仓库镜像名

如果你想要截取仓库和镜像名,可以使用以下代码:

docker_image = "docker镜像地址"
repository, image_name = docker_image.split("/", 1)[-1].split(":")[0]

这将把仓库和镜像名分别存储在repositoryimage_name变量中。这里使用了split("/", 1)来限制分割次数为1,以确保只截取第一个斜杠之后的内容。然后使用split(":")[0]来截取冒号之前的内容,以去除标签信息。

9.Python执行脚本从本地文件中读取docker镜像列表image_list时,截去镜像地址,只留镜像名,调用search接口查询镜像image,curl -X 'GET' \ 'https://harbor.com.cn/api/v2.0/search?q=buddy' \ -H 'accept: application/json'。将结果打印输出

你可以使用以下代码从本地文件中读取docker镜像列表,并调用search接口查询镜像信息,并将结果打印输出:

import requests

# 读取docker镜像列表
with open("image_list.txt", "r") as file:
    image_list = file.readlines()

# 去除镜像地址,只保留镜像名
image_names = [image.strip().split("/")[-1] for image in image_list]

# 查询镜像信息并打印输出
for image_name in image_names:
    url = f"https://harbor.com.cn/api/v2.0/search?q={image_name}"
    headers = {
        "accept": "application/json"
    }
    response = requests.get(url, headers=headers)
    result = response.json()
    print(result)

这段代码假设你将docker镜像列表保存在名为image_list.txt的文件中,每行一个镜像地址。首先,它读取文件内容并将每个镜像地址截取为镜像名。然后,对于每个镜像名,它构建查询URL并发送GET请求到Harbor的search接口。最后,它将返回的结果打印输出。

请注意,你需要安装requests库,可以通过pip3 install requests进行安装。另外,根据你的实际情况,你可能需要根据需要修改代码中的URL和headers。

 

你可能感兴趣的:(云原生,python)