无法将脚本启动到我的Docker容器中

问题描述 投票:-1回答:2

我正在尝试基于Centos创建自己的图像。我不明白为什么当我在泊坞窗文件中使用CMD命令在启动时执行脚本时,无法启动我的映像(立即退出(0))。如果构建时没有CMD命令,那么我将连接到容器并执行“ sh /opt/jbossEAP/Mock/scripts/mock_start.sh”。我没问题我尝试使用入口点命令,但结果相同:(

FROM centos:7
ENV container docker
RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == \
systemd-tmpfiles-setup.service ] || rm -f $i; done); \
rm -f /lib/systemd/system/multi-user.target.wants/*;\
rm -f /etc/systemd/system/*.wants/*;\
rm -f /lib/systemd/system/local-fs.target.wants/*; \
rm -f /lib/systemd/system/sockets.target.wants/*udev*; \
rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
rm -f /lib/systemd/system/basic.target.wants/*;\
rm -f /lib/systemd/system/anaconda.target.wants/*;
VOLUME [ "/sys/fs/cgroup" ]
CMD ["/usr/sbin/init"]
RUN yum update -y
RUN mkdir -p /opt/jbossEAP/Mock/scripts/
ADD ./scripts /opt/jbossEAP/Mock/scripts/
RUN chmod +x /opt/jbossEAP/Mock/scripts/mock_start.sh

### START SCRIPT ###
CMD sh /opt/jbossEAP/Mock/scripts/mock_start.sh

mock_start.sh

#!/bin/sh
############################################
echo "hello"
bash docker syntax dockerfile entry-point
2个回答
0
投票

我怀疑您的CMD或ENTRYPOINT 做了正常工作,但是容器仅在输出hello之后完成”

即使您已经用以下命令停止了docker的输出,也可以检查它的输出:docker logs <container-id>

请阅读https://stackoverflow.com/a/28214133/4486184,以获取有关其工作原理和避免方法的更多信息。

我的猜测可能是错误的,所以请始终添加到您的问题中:

  • 如何启动docker映像
  • [docker ps -a的输出
  • docker logs <container-id>输出的相关部分

0
投票

你是对的!

© www.soinside.com 2019 - 2024. All rights reserved.