docker设置服务随容器启动而自启动

作者 by 小楼 / 2022-03-31 / 暂无评论 / 121 个足迹

最近找了一款游戏服务端,准备部署在容器里面,启动游戏服务端每次都要进入容器里面启动挺麻烦的,所以查了一下资料 弄一下自启动。
看着两种方法:一是在dockerfile里面写入启动命令来构建镜像;另一种是在容器里面写个启动脚本,然后提交容器到本地镜像,重新以新镜像启动容器时 加入启动脚本命令。
第二种是比较方便快捷的方式,所以就采用这种方式了。
首先进入容器编写一个启动脚本auto_start.sh:

#!/bin/bash
/opt/lamnp/lamnp start
/bin/bash

最后一定要加上/bin/bash,不然容器随着服务启动完毕就关闭了。
然后提交容器到本地镜像:

docker commit -a "xiaolou" 容器ID imgaes:tag
#-a :提交的镜像作者;
#-c :使用Dockerfile指令来创建镜像;
#-m :提交时的说明文字;
#-p :在commit时,将容器暂停。

最后以新镜像启动容器:

docker run -itd --namme images -p 80:80 images:tag /root/auto_start.sh

这样以后启动容器时,脚本里面的服务就会跟随容器而启动了。

独特见解