假设 docker 镜像的id是 1234,1234 中的要执行的脚本叫 /abc.sh。
第一步:新建 my_auto_run.sh,假设放在 根目录下,
#!/bin/bash
docker run -d --entrypoint /abc.sh 1234
返回的是容器id,比如5678,也可以通过 docker ps -a | grep 1234 来发现容器id。
-d 是在后台执行,可以通过 docker exec -it 5678 /bin/bash 进入容器查看。
chmod +x my_auto_run.sh
第二步:把 my_auto_run.sh 做成开机启动,
两种方法:
1、在 /etc/rc.local 最后加上一句 /my_auto_run.sh。
2、新建 /lib/systemd/system/my.service,(推荐)
[Unit]
Description=my server
After=docker.service[Service]
Type=forking
ExecStart=/my_auto_run.sh[Install]
WantedBy=multi-user.target
再执行
systemctl enable my.service
1 或 2 完成后,reboot 即可。