我正在使用微服务架构。我已经开发了我的守护进程服务(shell 脚本)。现在我想在 docker 容器中运行它们中的每一个。我是 docker 新手,所以我需要一些建议,比如文档或教程,指导我如何将这些守护进程附加到容器以及如何确保它们之间的通信。
答案1
通常,您可以使用 Dockerfile 创建 Docker 映像,该映像:
- 导出一些图像[1] (
FROM debian
) - 安装调整脚本所需的任何附加包(
RUN apt install ...
) - 将脚本复制到图片中 (
COPY daemonscript.sh /opt/daemonscript.sh
) - 将脚本设置为要运行的内容:`ENTRYPOINT [“/bin/bash”,“/opt/daemonscript.sh”,“parm1”,“parm2”]
获得镜像后,你就可以运行它了。如果你需要在运行过程中保留数据,可以使用“bind-mounts”将容器的数据目录与主机上的目录关联起来。[2]
要同时运行多个容器,更简单的方法是使用docker-compose
[1] 要选择正确的镜像,人们通常会寻找一个额外安装保持在最低限度的镜像,但同时又不会加载过多不必要的负担。你可以找到几乎任何东西的现成镜像:Apache、nginx、python、wordpress、mysql……
[2] 将数据保存在容器实例中是一个坏习惯,容器应该被视为“瞬态的”,当然docker镜像是不可变的。