【发布时间】:2020-09-09 01:45:21
【问题描述】:
我正在测试一个建立在 Centos7 基础镜像之上的 Redis 容器。
start.sh 脚本有一个入口点,在此之前我们将四个文件复制到容器中。
理想情况下,启动 redisServer.sh 和 redisCluster.sh 需要 start.sh 脚本。但是容器几乎立即存在。
如果我将 ENTRYPOINT 更改为 redisServer.sh,则容器可以正常工作,这意味着 redisServer 正在按预期启动。而且,如果我执行到容器中,我也能够成功运行 redisCluster.sh 而没有任何问题。
我到底哪里出错了。 另外我怎样才能将日志打印回我的主机进行调试
COPY redis.conf /home/demo/redis/redis.conf
COPY start.sh /home/demo/redis/start.sh
COPY redisServer.sh /home/demo/redis/redisServer.sh
COPY redisCluster.sh /home/demo/redis/redisCluster.sh
ENTRYPOINT [ "/bin/bash", "/start.sh" ]
其他脚本的内容如下
Content of start.sh
---------------------------
#!/bin/bash
bash redisServer.sh &
sleep 10
bash redisCluster.sh &
Content of redisServer.sh
-------------------------
#!/bin/bash
/usr/src/redis/src/redis-server /usr/src/redis/redis.conf
Content of redisCluster.sh
--------------------------
#!/bin/bash
printf 'yes' | src/redis-cli -h 10.11.0.1 -p 16000 --cluster create 10.11.0.1:16000 10.11.0.2:16000 10.11.0.3:16000
【问题讨论】:
标签: linux bash shell docker redis