docker工人在停车后启动一个集装箱
我用这个Dockerfilebuild立了一个phalcon php镜像
FROM ubuntu:14.04 MAINTAINER betojulio COPY apache2_evogas.conf /tmp/apache2.conf RUN apt-get update && apt-get install -y \ apache2 \ php5-dev \ php5-mysql \ libapache2-mod-php5 \ gcc \ libpcre3-dev \ git \ && rm -rf /var/lib/apt/lists/* \ && git clone git://github.com/phalcon/cphalcon.git \ && cd cphalcon/build \ && ./install \ && cd /etc/php5/apache2/conf.d \ && echo 'extension=phalcon.so' > phalcon_php.ini \ && cp /tmp/apache2.conf /etc/apache2/apache2.conf \ && a2enmod rewrite CMD /usr/sbin/apache2ctl -D FOREGROUND
我创build了运行这个命令行的容器
docker run -d -p 80:80 --name webserver -v /www:/var/www/html betojulio/phalcon_project:1.0
一切正常。
我的问题是,我停止容器后,如何重新启动相同的容器'networking服务器'具有相同的选项'-d -p 80:80 -v / www:/ var / www / html'或停止容器后,我有删除它并重新创build它?
先谢谢你。
像其他答案一样,为了启动一个停止的容器,你运行:
docker start <container name or id>
如果不能保持运行,请检查日志:
docker logs <container name or id>
如果您希望容器在由于某种原因而停止时自动重启,请查看docker restart策略 。
docker run -d --restart=unless-stopped -p 80:80 --name webserver -v /www:/var/www/html betojulio/phalcon_project:1.0
此外,您可能想要在您的Dockerfile中将您的CMD更改为以下内容。
CMD ["apache2", "-D", "FOREGROUND"]
docker start webserver
而已。
我有一些反馈。
当我运行我的形象
docker run -d -p 80:80 --name webserver -v /www:/var/www/html betojulio/phalcon_project:1.0
第一次一切运作良好。
在容器中运行的命令是“/ bin / sh -c / usr / sbin” 。 我知道这个打字“dockerps”。 我无法重新启动容器,因为正在运行的命令。
如果我从Dockerfile中删除“CMD / usr / sbin / apache2ctl -D FOREGROUND”,build立一个图像并运行容器
docker run -d -p 80:80 --name webserver -v /www:/var/www/html betojulio/phalcon_project:1.0 /usr/sbin/apache2ctl -D FOREGROUND
在容器中运行的命令是/ usr / sbin / apache2ctl ,停止容器后,我可以用'docker start container'
这是正常的还是有一个错误?
- Docker-compose每次创build一个新的数据库,数据不会被保存
- 如何使用Windows Containers(而不是Linux容器)在Docker for Windows 10中创build数据卷
- Nginx的docker容器将不会代理Web应用程序容器
- Docker的AWS EC2实例angular色
- OpenShift 3 – build立“由于缺乏磁盘空间而无法启动”
- 在脚本执行完毕后,Docker容器不会停止移动
- 数千个CAdvisor Docker容器被创build,直到磁盘空间不足
- 克隆gerrit项目到我的主机上
- 在networking模式桥运行的容器应该如何与主机模式下运行的另一个容器进行通信?