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安全之Docker-TLS加密通讯问题(关于docker安全之Docker-TLS加密通讯问题)
- docker部署golang(如何使用Docker部署Go Web应用的实现)
- dubbo和项目搭建(使用docker部署dubbo项目的方法步骤)
- centos上docker的部署(CentOS8下的Docker使用详解)
- docker快速打包部署脚本(使用脚本一键打包并上传docker镜像的实现代码)
- docker怎么使用supervisor(supervisor下的Dockerfile的多服务镜像封装操作)
- dockerfile镜像案例(Dockerfile构建自定义镜像的实现)
- docker镜像配置教程(给Docker更换国内镜像源操作)
- docker显示出错应用图标怎么处理(docker 命令报异常permission denied的解决方案)
- springboot怎么用docker(使用docker部署spring boot并接入skywalking的方法)
- docker容器根据进程号查看端口(Docker 通过端口来连接一个容器的实现)
- docker实战部署(使用docker搭建一套开发环境全家桶的详细教程)
- 五分钟学会docker镜像与容器操作(Docker如何制作自己镜像并上传dockerhub)
- docker只有localhost可用(浅谈Docker如何自定义host文件)
- docker镜像配置的挂载路径(docker挂载本地目录和数据卷容器操作)
- dockerfile启动容器服务(docker文件存放路径, 获取容器启动命令操作)
- 官宣 全椒籍明星许海峰 奚秀兰 方芳 王璐瑶携手回家 走太平(全椒籍明星许海峰)
- 以前全椒人是怎么过冬的 满满都是回忆(以前全椒人是怎么过冬的)
- NVIDIA显卡份额冲上88 A饭发愁 游戏优化恐没A卡份了(NVIDIA显卡份额冲上88A饭发愁)
- AMD YES A卡还是N卡 A卡和N卡的区别(AMDYESA卡还是N卡)
- 以后显卡多了一个新选择,N卡和A卡外又多了个I卡(以后显卡多了一个新选择)
- 读卖乐园的彩灯(读卖乐园的彩灯)
热门推荐
- linuxdocker命令使用教程(seata docker 高可用部署的详细介绍)
- js日历图片(js实现简单日历效果)
- docker测试环境搭建(docker环境搭建JMeter+Grafana+influxdb可视化性能监控平台的教程)
- extjs accordion折叠布局
- 网站服务器的带宽(网站服务器租用怎么选择合适的带宽和机器配置)
- vue身份验证(详解vue身份认证管理和租户管理)
- python识别验证码教程(Python3.5 + sklearn利用SVM自动识别字母验证码方法示例)
- linux服务器安装宝塔(linux宝塔面板安装Zabbix监控服务器资源使用状态)
- python解析视频源码(基于python实现高速视频传输程序)
- pyqt5信号槽编辑器(浅谈pyqt5中信号与槽的认识)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9