【发布时间】:2019-06-19 15:30:57
【问题描述】:
我是法国人和新来的(所以我不知道堆栈溢出是如何工作的,他的社区)我会尝试适应自己。
所以,我的第一个问题是: 我使用使用 Dockerfile 创建的图像运行 docker 容器。 (有DNS容器) 在 Dockerfile 中,这个容器必须在启动时启动 script.sh。 但使用后:
docker run -d -ti -p 53:53 alex/dns
(使用 -p 53:53 因为 DNS。)
我可以看到我的 DNS 在我的 script.sh 末尾运行,但是,当我这样做时: 码头工人 ps -a ;但是 > 容器没有运行。
我是 docker 新手。 2天前就开始学了。
我尝试添加(当然是一个一个):
CMD ["bash"]
CMD ["/bin/bash"]
运行 bash 并确保它不会断电。
我尝试在 Docker 运行命令中添加 -d
我尝试使用:
docker 提交 ti alex/dns
和
docker exec -ti alex/dns /bin/bsh
我的 dockerfile 文件:
FROM debian
...
RUN apt-get install bind9
...
ADD script.sh /usr/bin/script.sh
...
ENTRYPOINT ["/bin/bash", "script.sh]
CMD ["/bin/bash"]
我的文件 script.sh :
service bind9 stop
*It copy en remplace conf file for bind9*
service bind9 restart
我希望没有太多错误,并且我设法让自己理解
我希望 DNS 容器保持运行并可以与 docker exec 一起使用。 但是现在,在使用 docker run 之后,容器在我的脚本完成后开始停止。是的,DNS 服务器正在运行容器在关闭之前告诉我 [ok] Bind9 正在运行或类似的东西。但是在容器停止之后。
【问题讨论】:
标签: docker