[英]Container exits with the following message docker container exited with code 0
嗨,我是 docker 和 docker-compose 的新手。
这是我的 docker-compose
version: "2.1"
services:
licenseserver:
build:
context: ./licenseserver
dockerfile: .dockerfile
ports:
- "20000:20000"
mac_address: C8-D9-D2-A5-8F-DE
hostname: idol
dockerfile 内容
FROM ubuntu:18.04
RUN apt-get update
RUN apt-get install unzip
RUN mkdir /opt/MicroFocus
WORKDIR /opt/MicroFocus
ADD LicenseServer.zip /opt/MicroFocus
RUN chmod 777 LicenseServer.zip
RUN unzip LicenseServer.zip
RUN rm -f LicenseServer.zip
WORKDIR /opt/MicroFocus/LicenseServer_12.5.0_LINUX_X86_64
ADD idol.dat /opt/MicroFocus/LicenseServer_12.5.0_LINUX_X86_64
RUN ls -lart
RUN pwd
RUN ./start-licenseserver.sh
docker-compose 构建工作正常,但是当我运行 docker-compose 时,我得到以下信息。 如何确保容器继续运行。
root@development-vm:/home/vinay/docker/AT# docker-compose up
Starting at_licenseserver_1 ... done
Attaching to at_licenseserver_1
at_licenseserver_1 exited with code 0
root@development-vm:/home/vinay/docker/AT# docker-compose exec licenseserver bash
ERROR: No container found for licenseserver_1
start-licenseserver.sh 的内容如下
#!/bin/sh
LD_LIBRARY_PATH=./:../bin:./ffmpeg:./filters:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
clear
echo "--------------------------------------------------------------------"
echo "Micro Focus License Server"
echo "(c) 1999-2018 Micro Focus"
echo "--------------------------------------------------------------------"
echo "This script will start License Server"
echo "(licenseserver.exe)"
echo ""
echo "Hit return to continue"
echo "Hit Ctrl-C to end this script now!"
echo "--------------------------------------------------------------------"
read DUMMY
echo "Starting License Server..."
chmod u+x licenseserver.exe
nohup $PWD/licenseserver.exe > licenseserver.out 2> licenseserver.err &
serverpid=$!
echo "Started License Server with PID $serverpid"
exit
您应该更改您的 Dockerfile 以使CMD
命令不是RUN
, RUN
命令仅在构建 docker 映像时使用。 docker 期望您的容器具有入口点或要运行的命令,并且它必须是后台进程,例如 web 服务器。 检查这篇文章关于RUN
, CMD
和entrypoint
点的区别将你的 Dockerfile 更改为此并尝试再次运行它:
FROM ubuntu:18.04
RUN apt-get update
RUN apt-get install unzip
RUN mkdir /opt/MicroFocus
WORKDIR /opt/MicroFocus
ADD LicenseServer.zip /opt/MicroFocus
RUN chmod 777 LicenseServer.zip
RUN unzip LicenseServer.zip
RUN rm -f LicenseServer.zip
WORKDIR /opt/MicroFocus/LicenseServer_12.5.0_LINUX_X86_64
ADD idol.dat /opt/MicroFocus/LicenseServer_12.5.0_LINUX_X86_64
RUN ls -lart
RUN pwd
CMD ["start-licenseserver.sh"]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.