一、docker容器启动的时候容器内服务自动启动(步骤说明)


1、进入容器,在容器的根目录下创建start.sh脚本


2、vim start.sh脚本,内容如下:
#!/bin/sh
/bin/serviceA start   #启动服务A
/bin/serviceB start   #启动服务B
...
/bin/serviceN start   #启动服务N
/bin/bash                 #保留一个终端,防止容器自动退出,这个非常重要


3、启动容器
docker run -it  镜像 /start.sh

二、docker启动ubuntu系统服务自动启动设置(真实demo)


1、启动ubuntu容器。
docker run -itd -p 5000:22 --name my-ubuntu001 --privileged=true my-ubuntu:1.0 /bin/bash


2、进入ubuntu容器。
docker exec -it 40300fc27572 /bin/bash


3、执行"cd /"命令。


4、编辑start脚本,命令"vim start.sh",内容如下:
#!/bin/sh
service tomcat8 start   #启动tomcat服务
/etc/init.d/ssh start      #启动ssh服务无
/bin/bash                     #保留一个终端,防止容器自动退出,这个非常重要

5、输入完内容按下esc键盘,输入":wq!"再回车。

6、保存镜像,命令如下:
docker commit -m="安装了常见linux命令,安装了openJDK8、tomcat8,添加了启动脚本start.sh" -a="Mr Zou" 40300fc27572 my-ubuntu:2.0

7、重新运行容器。
docker run -itd -p 5000:22 --name my-ubuntu002 --privileged=true my-ubuntu:2.0 /start.sh

8、以后每次重启容器,进入容器使用"ps -aux | grep ssh"或者"ps -aux | grep tomcat" 命令,发现ssh、tomcat自动启动了。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐