
我正在使用單一容器 Docker 在 Elastic Beanstalk 上運行我的 Play Scala 應用程式。問題是,如果我透過 SSH 進入我的實例並運行docker ps
,我會看到以下內容:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b97459277e72 aws_beanstalk/current-app:latest "/bin/sh -c 'rm -f R 10 minutes ago Up 10 minutes 9000/tcp cranky_rosalind
7ffa795d6810 3dfb5143a62a "/bin/sh -c 'rm -f R 13 minutes ago Up 13 minutes 9000/tcp serene_sinoussi
bbf010d8f02d 3dfb5143a62a "/bin/sh -c 'rm -f R 14 minutes ago Up 14 minutes 9000/tcp fervent_hawking
ec9c3d329d1d 3dfb5143a62a "/bin/sh -c 'rm -f R 15 minutes ago Up 15 minutes 9000/tcp insane_hypatia
9ffa80f40fec 3dfb5143a62a "/bin/sh -c 'rm -f R 16 minutes ago Up 16 minutes 9000/tcp admiring_rosalind
應該有那麼多正在運作的容器嗎?
不是應該只有1個容器嗎?
這是我的 Dockerfile 的樣子:
FROM java:openjdk-8-jre
MAINTAINER XXXX
EXPOSE 9000
ADD files /
WORKDIR /opt/docker
RUN ["chown", "-R", "daemon", "."]
USER daemon
ENTRYPOINT rm -f RUNNING_PID && bin/my-app -mem 1360 -DapplyEvolutions.default=true
CMD []
這是docker ps
使用相同 Dockerfile 的另一台伺服器的情況:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bf33b51b6d59 aws_beanstalk/current-app:latest "/bin/sh -c 'rm -f R 4 hours ago Up 4 hours 9000/tcp tender_leakey
248664ebd789 aws_beanstalk/current-app:latest "/bin/sh -c 'rm -f R 4 hours ago Up 4 hours 9000/tcp pensive_lumiere
99a143adff26 aws_beanstalk/current-app:latest "/bin/sh -c 'rm -f R 4 hours ago Up 4 hours 9000/tcp sad_poincare
eb24ae106aed aws_beanstalk/current-app:latest "/bin/sh -c 'rm -f R 4 hours ago Up 4 hours 9000/tcp loving_fermi
724552fdb751 aws_beanstalk/current-app:latest "/bin/sh -c 'rm -f R 4 hours ago Up 4 hours 9000/tcp stoic_goldstine
dd28117efa4a aws_beanstalk/current-app:latest "/bin/sh -c 'rm -f R 4 hours ago Up 4 hours 9000/tcp sad_pare
05c74f0fe25f aws_beanstalk/current-app:latest "/bin/sh -c 'rm -f R 4 hours ago Up 4 hours 9000/tcp nostalgic_yonath
cd1ae904efa6 aws_beanstalk/current-app:latest "/bin/sh -c 'rm -f R 4 hours ago Up 4 hours 9000/tcp sad_hoover
答案1
我認為您看到這麼多的原因是因為它們無法啟動並重新啟動。我從未見過有人使用ENTRYPOINT cmd1 && cmd2
嘗試將啟動序列移至一個單獨的start.sh
腳本中,並使用該腳本作為ENTRYPOINT
替代。