Docker容器重启脚本

#!/bin/bash  
  
if [ -z $1 ]; then  
echo "Usage: c run <image name>:<version>"  
echo "       c stop <container name>"  
exit 1  
fi  
  
if [ -z $ETCD_HOST ]; then  
ETCD_HOST="192.168.2.98:4001"  
fi  
  
if [ -z $ETCD_PREFIX ]; then  
ETCD_PREFIX="app/servers"  
fi  
  
if [ -z $CPORT ]; then  
CPORT="80"  
fi 
if [ -z $FORREST_IP ]; then  
FORREST_IP=`ifconfig eth0| grep "inet addr" | head -1 | cut -d : -f2 | awk ‘{print $1}‘`  
fi 
function launch_container {  
echo "Launching $1 on $FORREST_IP ..." 
CONTAINER_ID=`docker run -d --dns 172.17.42.1 -P -v /data:/data -v /etc/httpd/conf:/etc/httpd/conf -v /etc/httpd/conf.d:/etc/httpd/conf.d -v /etc/localtime:/etc/localtime:ro $1 /bin/sh -c "/usr/bin/supervisord -c /etc/supervisord.conf"`  
PORT=`docker inspect $CONTAINER_ID|grep "\"Ports\"" -A 50|grep "\"$CPORT/tcp\"" -A 3| grep HostPort|cut -d ‘"‘ -f4|head -1`  
NAME=`docker inspect $CONTAINER_ID | grep Name | cut -d ‘"‘ -f4 | sed "s/\///g"|sed -n 2p` 
echo "Announcing to $ETCD_HOST..."  
curl -XPUT "http://$ETCD_HOST/v2/keys/$ETCD_PREFIX/$NAME" -d value="$FORREST_IP:$PORT" 
echo "$1 running on Port $PORT with name $NAME"  
} 
function stop_container {  
echo "Stopping $1..."  
CONTAINER_ID=`docker ps -a| grep $1 | awk ‘{print $1}‘`  
echo "Found container $CONTAINER_ID"  
docker stop $CONTAINER_ID  
echo http://$ETCD_HOST/v2/keys/$ETCD_PREFIX/$1  
curl -XDELETE http://$ETCD_HOST/v2/keys/$ETCD_PREFIX/$1 &> /dev/null  
echo "Stopped."  
}  
               
if [ $1 = "run" ]; then  
launch_container $2  
else  
stop_container $2  
fi
时间: 2024-11-02 23:35:12

Docker容器重启脚本的相关文章

docker容器重启故障

问题 强杀docker进程后,重启docker.docker中的容器无法启动并报错,报错内容如下 docker restart ae1f7b2c2f15 Error response from daemon: Cannot restart container ae1f7b2c2f15: container "ae1f7b2c2f15579674b62db24029f6f126ee45c875d4c85ac6f71eba7308400f": already exists 解决方案 将启动

docker容器设置静态IP与宿主机同一网段通信

很早以前弄过docker容器设置静态ip地址以及容器与容器之间通信,用的不多所以没有记录下来. 今天在网上看到个文章关于设置静态ip地址的.就自己实战下.对了还有个pipework也可以设置.. 操作系统环境 [email protected]:~# cat /etc/issue Ubuntu 14.04.3 LTS \n \l 宿主机(系统采用ubuntu-14.04.1-server-amd64)的网络采用桥接模式(默认是DHCP模式,还有一种模式就是静态IP),网桥的网段与物理网段相同.目

为Docker容器设置静态IP

此文已由作者袁欢授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 创建docker容器 docker run -it --name=yh -h yh --net=none debian:sshd bash   ### 确保使用--net=none参数,此时新建的容器内不会创建网卡 docker ps 此时登录容器查看IP,会发现没有eth0网卡: [email protected]:/# ifconfig -alo        Link encap:Local Loop

Centos 配置开机启动脚本启动 docker 容器

原文:Centos 配置开机启动脚本启动 docker 容器 Centos 配置开机启动脚本启动 docker 容器 Intro 我们的 Centos 服务器上部署了好多个 docker 容器,因故重启的时候就会导致还得手动去手动重启这些 docker 容器,为什么不写个脚本自动重启呢,于是就有了这篇文章. 批量启动 Docker 容器 之前我们有提到过关于 docker 的一些骚操作 ,可以直接使用 docker start $(docker ps -aq) # 启动所有容器 docker s

Shell脚本控制tomcat的docker容器的创建,删除,启动,关闭

说明: 多个tomcat容器,同时启动和关闭,每个docker容器的网络管理使用pipework控制.此脚本用来管理多个容器的创建,删除,启动和关闭.使用者可自行修改. #!/bin/bash # chkconfig:2345 11 90 # description: Docker $Name BEGIN=1 END=4 Name=api Host="$Name" Mem=2048m Container_web_DIR="/tomcat/webapps" Conta

如何保证 docker 后台进程重启,而不引起容器关闭

前言 平常在进行docker 实验时,经常会需要修改一些配置参数,有些参数修改后,是需要重启docker 后台进程 daemon 才能生效的,但是docker 后台进程重启后,可能会造成正在运行的容器强制关闭.如果容器正在跑着重要的测试,这样就不太方便了.所以,有必要了解一下如何使docker 后台进程在重启的情况下,容器不会强制关闭,保持运行. 服务器环境 ubuntu 14.04docker 17.12.0-ce 修改docker 配置文件 sudo vim /etc/docker/daem

重启服务器后Docker容器暴露的端口外网突然访问不了!!

*:first-child { margin-top: 0 !important; } .markdown-body>*:last-child { margin-bottom: 0 !important; } .markdown-body a:not([href]) { color: inherit; text-decoration: none; } .markdown-body .anchor { float: left; padding-right: 4px; margin-left: -2

Docker容器的重启策略及docker run的--restart选项详解

1. Docker容器的重启策略 Docker容器的重启策略是面向生产环境的一个启动策略,在开发过程中可以忽略该策略. Docker容器的重启都是由Docker守护进程完成的,因此与守护进程息息相关. Docker容器的重启策略如下: no,默认策略,在容器退出时不重启容器on-failure,在容器非正常退出时(退出状态非0),才会重启容器on-failure:3,在容器非正常退出时重启容器,最多重启3次always,在容器退出时总是重启容器unless-stopped,在容器退出时总是重启容

如何设置Docker容器中Java应用的内存限制

如果使用官方的Java镜像,或者基于Java镜像构建的Docker镜像,都可以通过传递 JAVA_OPTS 环境变量来轻松地设置JVM的内存参数.比如,对于官方Tomcat 镜像,我们可以执行下面命令来启动一个最大内存为512M的tomcat实例 docker run --rm -e JAVA_OPTS='-Xmx512m' tomcat:8 在日志中,我们可以清楚地发现设置已经生效 "Command line argument: -Xmx512m" 02-Apr-2016 12:46