場景:
有一個docker, 在該docker中有服務A,希望每次啟動容器時服務A都隨着容器啟動。這樣就不用每次都進入容器手動啟動服務了。
方法:
1.需要在docker中添加一個啟動服務腳本auto_service.sh
#!/bin/sh /bin/serviceA start #啟動服務 /bin/bash #保留一個終端,防止容器自動退出
注意:上面三行都是必須的。
#!/bin/sh 告訴linux應該使用什么指令運行此腳本。我用的是官方發布的centos7的docker。
/bin/serviceA start 啟動服務A的指令,根據需要自行修改
/bin/bash 保留一個終端,這句是必要的。否則在服務A執行完成后容器就會自動退出了。
2.將有auto_service.sh的容器打包為鏡像
3.運行
docker run -d -t -v /etc/localtime:/etc/localtime --name service_A imageX /home/auto_service.sh
注意,最后要把自行啟動的腳本加上。