Docker容器脚本编写(Macvlan)

2024-06-21 18:28

本文主要是介绍Docker容器脚本编写(Macvlan),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

要创建一个包含Docker容器操作的shell脚本(例如创建、查看状态、停止和启动容器等),你可以按照以下步骤来编写:

首先,创建一个新的文本文件,并将其命名为docker_operations.sh。然后,使用文本编辑器(如vim或nano)打开此文件,开始编写脚本。

#!/bin/bash# 定义网络名和基本容器配置
CONTAINER_NAME="net-1"
VOLUME_MOUNT="-v /home/norten/Public/tools:/mnt"
IMAGE_NAME="ubuntu"# 检查是否安装了docker,如果没有则提示安装
if ! command -v docker &> /dev/null; thenecho "Docker is not installed. Please install Docker and try again."exit 1
fi# 动态创建并运行容器的函数
function create_and_start_container() {local num="$1"local CONTAINER_NAME="container-$num"local IP_ADDRESS="192.168.0.$((60 + num))"docker run -itd \--name $CONTAINER_NAME \--network=$NETWORK_NAME \--ip=$IP_ADDRESS \$VOLUME_MOUNT \$IMAGE_NAMEecho "Container $CONTAINER_NAME created and started with IP $IP_ADDRESS."
}# 查看容器日志
function view_container_logs() {docker logs $CONTAINER_NAME
}# 查看容器状态
function check_container_status() {docker ps -a | grep $CONTAINER_NAME
}# 停止容器
function stop_container() {docker stop $CONTAINER_NAMEecho "Container $CONTAINER_NAME stopped."
}# 启动已停止的容器
function start_container() {docker start $CONTAINER_NAMEecho "Container $CONTAINER_NAME started."
}# 删除容器
function remove_container() {docker rm -f $CONTAINER_NAMEecho "Container $CONTAINER_NAME removed."
}# 主程序
case "$1" increate)create_and_start_container;;logs)view_container_logs;;status)check_container_status;;stop)stop_container;;start)start_container;;remove)remove_container;;*)echo "Usage: $0 {create|logs|status|stop|start|remove}"exit 1
esacexit 0

这个脚本定义了一些基本的函数,分别对应于创建并启动容器、查看日志、检查状态、停止、启动和删除容器的操作。你可以根据需要修改容器名、网络名、IP地址以及挂载的目录路径等。

保存文件后,给脚本执行权限:

chmod +x docker_operations.sh

现在你可以通过以下方式调用不同的操作:

./docker_operations.sh create    # 创建并启动容器
./docker_operations.sh logs     # 查看容器日志
./docker_operations.sh status  # 查看容器状态
./docker_operations.sh stop     # 停止容器
./docker_operations.sh start   # 启动容器
./docker_operations.sh remove  # 删除容器

 

 "$1"表示获取脚本运行时的第一个参数。

#!/bin/bash# 定义网络名和基本容器配置
NETWORK_NAME="net-1"
VOLUME_MOUNT="-v /home/norten/Public/tools:/mnt"
IMAGE_NAME="ubuntu"# 检查是否安装了docker
if ! command -v docker &> /dev/null; thenecho "Docker is not installed. Please install Docker and try again."exit 1
fi# 查看帮助命令
function help() {docker logs $CONTAINER_NAME
}# 动态创建并运行容器的函数
function create_and_start_container() {local num="$1"local CONTAINER_NAME="container-$num"local IP_ADDRESS="192.168.0.$((60 + num))"docker run -itd \--name $CONTAINER_NAME \--network=$NETWORK_NAME \--ip=$IP_ADDRESS \$VOLUME_MOUNT \$IMAGE_NAMEecho "Container $CONTAINER_NAME created and started with IP $IP_ADDRESS."
}# 主程序
#[ -z "$2" ]检查第二个参数($2)是否存在,如果为空(即没有提供第二个参数),则打印一条错误信息,指导用户如何正确使用脚本,并以错误码1退出。
case "$1" increate)if [ -z "$2" ]; thenecho "Please provide a number to create the container (e.g., ./docker_operations.sh create 31)."exit 1ficreate_and_start_container "$2"  # 修正函数名为create_and_start_container;;help)  # 新增的帮助选项echo "Usage: $0 {create <num>|logs|status|stop|start|remove}"echo "  create <num>: 创建一个容器,其中<num>是要创建的容器编号。"echo "  logs: 查看指定容器的日志(功能待实现)"echo "  status: 查看容器状态(功能待实现)"echo "  stop: 停止指定容器(功能待实现)"echo "  start: 启动指定容器(功能待实现)"echo "  remove: 删除指定容器(功能待实现)"exit 0;;logs|status|stop|start|remove)echo "Functionality for $1 is not updated to handle numbered containers yet."exit 1;;*)echo "Invalid command. Use './docker_operations.sh help' for usage instructions."exit 1;;
esacexit 0

这篇关于Docker容器脚本编写(Macvlan)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1081987

相关文章

Linux使用nohup命令在后台运行脚本

《Linux使用nohup命令在后台运行脚本》在Linux或类Unix系统中,后台运行脚本是一项非常实用的技能,尤其适用于需要长时间运行的任务或服务,本文我们来看看如何使用nohup命令在后台... 目录nohup 命令简介基本用法输出重定向& 符号的作用后台进程的特点注意事项实际应用场景长时间运行的任务服

更改docker默认数据目录的方法步骤

《更改docker默认数据目录的方法步骤》本文主要介绍了更改docker默认数据目录的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1.查看docker是否存在并停止该服务2.挂载镜像并安装rsync便于备份3.取消挂载备份和迁

Docker集成CI/CD的项目实践

《Docker集成CI/CD的项目实践》本文主要介绍了Docker集成CI/CD的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、引言1.1 什么是 CI/CD?1.2 docker 在 CI/CD 中的作用二、Docke

如何在一台服务器上使用docker运行kafka集群

《如何在一台服务器上使用docker运行kafka集群》文章详细介绍了如何在一台服务器上使用Docker运行Kafka集群,包括拉取镜像、创建网络、启动Kafka容器、检查运行状态、编写启动和关闭脚本... 目录1.拉取镜像2.创建集群之间通信的网络3.将zookeeper加入到网络中4.启动kafka集群

如何使用 Bash 脚本中的time命令来统计命令执行时间(中英双语)

《如何使用Bash脚本中的time命令来统计命令执行时间(中英双语)》本文介绍了如何在Bash脚本中使用`time`命令来测量命令执行时间,包括`real`、`user`和`sys`三个时间指标,... 使用 Bash 脚本中的 time 命令来统计命令执行时间在日常的开发和运维过程中,性能监控和优化是不

bat脚本启动git bash窗口,并执行命令方式

《bat脚本启动gitbash窗口,并执行命令方式》本文介绍了如何在Windows服务器上使用cmd启动jar包时出现乱码的问题,并提供了解决方法——使用GitBash窗口启动并设置编码,通过编写s... 目录一、简介二、使用说明2.1 start.BAT脚本2.2 参数说明2.3 效果总结一、简介某些情

使用Java编写一个文件批量重命名工具

《使用Java编写一个文件批量重命名工具》这篇文章主要为大家详细介绍了如何使用Java编写一个文件批量重命名工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录背景处理1. 文件夹检查与遍历2. 批量重命名3. 输出配置代码片段完整代码背景在开发移动应用时,UI设计通常会提供不

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

Linux服务器Java启动脚本

Linux服务器Java启动脚本 1、初版2、优化版本3、常用脚本仓库 本文章介绍了如何在Linux服务器上执行Java并启动jar包, 通常我们会使用nohup直接启动,但是还是需要手动停止然后再次启动, 那如何更优雅的在服务器上启动jar包呢,让我们一起探讨一下吧。 1、初版 第一个版本是常用的做法,直接使用nohup后台启动jar包, 并将日志输出到当前文件夹n