docker运行/星级/执行?

您好,我已经build立并在Ubuntu的图像上安装ziftrCoin钱包。

8084e9de3c23 ubuntu:latest "/bin/bash" 25 hours ago Up About a minute 0.0.0.0:10332->10332/tcp ziftrCoin 

问题是,我退出容器后ziftrcoindclosures。 尝试运行docker exec -it ziftrCoin /root/64/./ziftrcoind程序启动,但我连接到容器。 同样的问题,如果我退出。

所以当我用"ziftrCoin /root/64/./ziftrcoind"而不是"/bin/bash"启动容器时,如何更新/编辑COMMAND?


UPDATE

如果我build立它运行它,我不会让它保持开放..

 docker run -d ziftr 252554f38c2a41bdd29875bcb6ab7b6bbe98522e16828b1f8b06d8899bc5134c docker run -it ziftr ZiftrCOIN server starting FROM ubuntu MAINTAINER Krister Johansson <hello@nodejs.how> WORKDIR /var/ziftrCoin RUN apt-get update RUN apt-get install -y wget RUN wget "https://d19y4lldx7po3t.cloudfront.net/assets/downloads/0.9.3/ziftrcoin-0.9.3-linux64.tar.gz" RUN tar -xvzf ziftrcoin-0.9.3-linux64.tar.gz RUN rm ziftrcoin-0.9.3-linux64.tar.gz ADD ./src/ziftrcoin.conf /root/.ziftrcoin/ziftrcoin.conf EXPOSE 10332 11332 CMD ["64/./ziftrcoind"] 

对于Docker,当pid 1(在容器内部)的进程退出时,它也将退出(并且终止在该容器中运行的所有其他处理)。 这是发生在你身上的事情,因为/bin/bash是使用pid 1的过程。你需要做的是将ziftrcoind过程设置为pid 1

您没有提供DockerfileDockerfile docker run命令,但是我假设您运行的是像docker run ziftrcoin (其中ziftrcoin将是您构build的映像的名称),而Dockerfile没有CMD

这个想法或者是给Dockerfile一个默认命令,在你的Dockerfile使用CMD ,或者在发出Dockerfile run时给它一个命令来docker run

我们来看看Dockerfile外观:

 FROM Ubuntu RUN # … Install ziftrcoind CMD ["/root/64/./ziftrcoind"] 

如果您构build此映像,那么在运行时,默认命令是/root/64/./ziftrcoind而不是/bin/bash 。 你也可以做docker run ziftrcoint /root/64/./ziftrcoind达到相同的效果

Kevan Ahlquist评论说,如果你想在后台运行它,你可以使用标志-ddocker run -d ziftrcoin (有或没有命令,这取决于你的Dockerfile是否有CMD )。

发现问题!

ziftrcoin.conf中的deamon = 1,在删除它之后!

将其上传到git。 https://github.com/nodejshow/docker-ziftrcoind