如题,想在容器启动时 自动 启动 ssh-server ,同时启动 Spring 项目。
但是 Google 搜索的大部分都是 直接使用 SpringBoot 的 Docker Image 去启动项目。
目前想用自己的一个自定义的容器去做这些事... 就是在 Docker 容器启动的时候,自动去执行某些启动脚本。
容器已经设置了 --restart=always ,但是实测,宿主机重新启动的时候,不会执行 /etc/init.d 下面的脚本...
求助大佬..
1
caryqy 2022-07-30 12:27:49 +08:00
supervisor
|
2
y830CAa5nink4rUQ 2022-07-30 12:28:53 +08:00
自己弄个 supervisord 作为 pid 1 不就好了
|
3
singerll 2022-07-30 16:23:42 +08:00 via Android
dockerfile 的 cmd 参数里面,直接自定义个脚本
|
4
momocraft 2022-07-30 17:38:54 +08:00
首先一个容器同时跑 ssh 和应用是不推荐的做法。如果是为了开发不如用 docker exec 代替 ssh
----------- 常见做法是设计一个容器内路径,让 entrypoint 脚本逐个执行此路径内的脚本 比如 dockerhub mysql 镜像的 entrypoint |
5
Privileges 2022-07-30 17:57:00 +08:00
Dockerfile 用 entrypoint 去调用你项目的启动脚本
另外为什么要 SSH 的方式进去容器,exec 不更方便么 |
6
ByteCat 2022-07-31 03:01:46 +08:00 via iPhone
自己写一个 entrypoint.sh
|