docker容器启动时运行脚本

1. docker开机运行

对于Ubuntu18.04以上的系统,如果是使用命令sudo apt-get install -y docker.io安装的docker,都可以使用下列命令设置开机启动docker

systemctl enable docker

2. docker容器开机运行

  很多时候我们都有这样的需求,在开机的时候自动运行容器,并且容器被意外关闭时,能够自动重启,这个时候我们加入–restart=always属性即可满足该需求。命令如下

docker update --restart=always 容器名字或ID

  或者在运行镜像时就加入–restart=always属性

docker run  -itd --name test --restart=always amd64/ubuntu:18.04 /bin/bash 

3. docker容器启动时运行脚本

  首先要写个一个开机脚本,脚本内容是你想要的程序。然后将其保存在根目录或者任意目录下。然后在run容器时,加上该脚本,这样每次容器启动都会运行该脚本。命令如下:

docker run  -itd --name test --restart=always amd64/ubuntu:18.04 /bin/bash /myStart.sh

  需要注意的是,脚本(如myStart.sh)必须写绝对路径,而且前面必须有/bin/bash,该语句的意思就是启动容器时,使用/bin/bash来运行/myStart.sh这个脚本。
  有些时候,如果我们需要使用多个脚本,可以使用一个脚本来启动其它的脚本,也可以使用下列命令

docker run  -itd --name test --restart=always amd64/ubuntu:18.04 /bin/bash /1.sh;/2.sh;/3.sh

4. docker容器启动后退出

  使用 docker ps -a可以查看容器的运行状态,如果我们使用docker start启动容器后,容器自动退出,且docker ps -a看到状态为Exit(0),那么说明是我们写的脚本没有循环,导致docker执行完脚本以后自动退出,那么只要在自己写的脚本后面加上/bin/bash,如下

#!/bin/bash
#ls
#cd /
#more
/bin/bash

重新打开一个bash,就可以防止容器执行完脚本后退出

  • 8
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值