2017-07-28 69 views
1

与Docker完成新手,但概念是坚持。Docker与amazonlinux

目标

创建本地的容器,我的督促EC2实例相匹配。升级PHP7并测试我的应用程序。

方法

我的第一步是创建一个基本的盒子亚马逊linux的盒子。挂载它并从CLI运行命令。然后,我可以慢慢建立命令来放入我的Dockerfile。

问题

我打造的盒子运行良好百胜更新-Y,看到了更新。但是,当我运行码头ps图像未列出?所以我无法安装它。我的作曲家文件如下...

FROM amazonlinux:2017.03 

RUN yum update -y 

为什么箱子不能保持打开状态?

+0

你可以连接到实例之外的实例吗?只是正常的SSH?尝试--vvv选项来查看是否可以访问它。 – strongjz

回答

2

Docker容器在没有进程运行时停止。将入口点添加到Dockerfile以保持机器运行。

如果您确实没有任何进程运行,则可以执行sleep infinitysleep 99999

FROM amazonlinux:2017.03 

RUN yum update -y 

CMD [“sleep”, “infinity”] 
2

所有RUN命令完成后,码头容器停止运行。您需要一个CMDENTRYPOINT运行并不停止以保持您的容器活着。对于Web服务,这可能是apache或nginx或者任何您用来为您的PHP7应用程序提供服务的Web服务。

0

我在最后找到了一个替代解决方案。通过启动BASH,我能够保持容器运行。

docker run -it -p 8080:80 --rm nbsite bash