docker容器关闭后怎么启动(docker批量启动关闭所有容器的操作)
类别:服务器 浏览量:1564
时间:2021-10-15 00:18:05 docker容器关闭后怎么启动
docker批量启动关闭所有容器的操作docker中
启动所有的容器命令docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)
docker中
关闭所有的容器命令docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)
补充:shell批量启动和删除docker容器,基于docker toolbox
停止容器stop.sh #!/bin/bash containerIDs="8f78b7e6995b beeae59c6f41 5305c3db3670 bffc551a6b96 61f0fc8b1dc4 8e85a3b7bfe3 d15c4d2dc546 2a3c4eb14584 5e98077acc3a 13bac087b83d" statusLived="live" statusdead="Dead" notExistContainer="None" retryCount=3 function GetContainerStatus(){ containerExist=$(docker ps -a | grep -i $1 | wc -l ) if [ ${containerExist} -gt 0 ] then pid=$(docker stats --format "{{.PIDs}}" --no-stream $1 ) if [ "${pid}" != "0" ] then echo "${statusLived}" else echo "${statusdead}" fi else echo "${notExistContainer}" fi } function StopContainer(){ docker stop $1 } for containerID in ${containerIDs} do for ((i=1;i<=${retryCount};i++)) do status=$(GetContainerStatus ${containerID} ) echo "Container ${containerID} status is ${status}" if [ "${status}" == ${statusdead} ] then echo "Container ${containerID} already stopped" break fi if [ "${status}" == ${notExistContainer} ] then echo "Container ${containerID} not existed" break fi if [ "${status}" == ${statusLived} ] then echo "Container ${containerID} is lived ,stop container" StopContainer ${containerID} verifyStatus=$(GetContainerStatus ${containerID} ) if [ "${verifyStatus}" == ${statusdead} ] then echo "stop container ${containerID} success " break else echo "${i} retry stop container" StopContainer ${containerID} fi fi done done
说明:containerIDs里面是你已经建好的,docker容器这里为nginx
把stop.sh放在d:/nginx下面。
过程稍微慢了点,耐心等待。
停止容器成功。
启动容器#!/bin/bash containerIDs="8f78b7e6995b beeae59c6f41 5305c3db3670 bffc551a6b96 61f0fc8b1dc4 8e85a3b7bfe3 d15c4d2dc546 2a3c4eb14584 5e98077acc3a 13bac087b83d" statusLived="live" statusdead="Dead" notExistContainer="None" retryCount=3 function GetContainerStatus(){ containerExist=$(docker ps -a | grep -i $1 | wc -l ) if [ ${containerExist} -gt 0 ] then pid=$(docker stats --format "{{.PIDs}}" --no-stream $1 ) if [ "${pid}" != "0" ] then echo "${statusLived}" else echo "${statusdead}" fi else echo "${notExistContainer}" fi } function StartContainer(){ docker restart $1 } for containerID in ${containerIDs} do for((i=1;i<=${retryCount};i++)) do status=$(GetContainerStatus ${containerID} ) echo "Container ${containerID} status is ${status}" if [ "${status}" == ${statusLived} ] then echo "Container ${containerID} already running" break fi if [ "${status}" == ${notExistContainer} ] then echo "Container ${containerID} not existed" break fi if [ "${status}" == ${statusdead} ] then echo "Container ${containerID} stopped ,start container" StartContainer ${containerID} verifyStatus=$(GetContainerStatus ${containerID} ) if [ "${verifyStatus}" == ${statusLived} ] then echo "start container ${containerID} success " break else echo "${i} retry start container" StartContainer ${containerID} fi fi done done
以上为个人经验,希望能给大家一个参考,也希望大家多多支持开心学习网。如有错误或未考虑完全的地方,望不吝赐教。
您可能感兴趣
- docker安装mysql后无法连接(Docker 安装 MySQL 并实现远程连接教程)
- idea 一键部署springboot docker(IDEA部署Docker到WSL2的详细过程)
- docker时区问题和迁移数据问题(docker时区问题和迁移数据问题)
- docker搭建私有dns域名解析(docker内网搭建dns使用域名访问替代ip:port的操作)
- docker 镜像导入导出(Docker镜像的导入导出代码实例)
- docker多个端口怎么区分(解决docker run时候启动两个占有不同端口的问题)
- docker容器测试环境构建(docker容器内安装TensorRT的问题)
- 部署docker需要什么配置(解决Docker必须使用sudo操作的问题)
- dockerfile挂载目录(解决docker run中使用 ./ 相对路径挂载文件或目录失败的问题)
- docker查看容器教程(如何使用docker对容器资源进行限制)
- docker 启动rabbitmq(docker安装rabbitmq无法进入管理页面的问题)
- docker怎么解决隔离性问题(docker启动ES内存溢出的解决方案)
- docker默认网络模式(Docker 网络模式及配置方式)
- docker容器使用redis服务(在Docker中使用Redis的步骤详解)
- docker管理工具选择(Docker可视化管理工具DockerUI的使用)
- docker如何解绑容器(如何进入、退出docker的container实现)
- 成都轨道交通19号线二期全线电通(成都轨道交通19号线二期全线电通)
- 19号线二期全线电通 轨道交通项目最新进展来了(19号线二期全线电通)
- 涉及3条地铁线路 成都这4座轨道交通站点有新名字了(涉及3条地铁线路)
- 来了 成都轨道交通5条线路刷新 进度条(成都轨道交通5条线路刷新)
- 一部手机两套系统 OPPO Find X3的正确打开方式你知道吗(一部手机两套系统)
- OPPO用户看过来 汇总几个春节实用技巧,轻松搞定多设备联动玩法(汇总几个春节实用技巧)
热门推荐
- sqlserver数据回退(SQLServer数据库处于恢复挂起状态的解决办法)
- c#中SqlBulkCopy的使用
- VS中使用Unit Test Generator进行单元测试
- SQL SERVER中查看某个时间段内出错的作业
- docker中mysql连接命令(docker 如何修改mysql的root密码)
- 将docker中的镜像打包教程(本地使用docker打包部署镜像的方法)
- mysql的视图和临时表区别(MySQL 内存表和临时表的用法详解)
- python转图片为字符图(Python实现图片转字符画的代码实例)
- html样式中css怎么设置行高(CSS设置HTML元素的高度与宽度的各种情况总结)
- sql server重建索引
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9