【发布时间】:2016-10-13 16:50:40
【问题描述】:
我已经构建了一个 docker 镜像来运行 apache。我已经从 ubuntu 基础映像构建了它,这样我就可以设置我想要的 apache 和 php 版本。我在 docker 文件的末尾添加了一个 CMD 以在前台运行 apache。
FROM ubuntu:16.04
RUN apt-get update && \
apt-get install -y --allow-unauthenticated software-properties-common && \
add-apt-repository ppa:ondrej/apache2 && \
apt-get update && \
....
WORKDIR /
CMD ["/usr/sbin/apachectl","-DFOREGROUND"]
我正在尝试使用 docker-compose(以及其他一些服务)运行容器。但是容器立即退出。如果使用docker 命令运行映像,也会发生同样的情况。
docker run my_image
docker ps
有趣的是,如果我使用docker run -it my_image 运行它,那么容器就会启动并且我会被带入一个 bash shell。 (我相信我使用的 ubuntu 基础映像上的默认 CMD 是 bash)。
我错过了什么吗?如何编写我的 Dockerfile 以便 apache 在映像上作为服务运行?
【问题讨论】:
-
docker logs <CONTAINER>说什么? -
“我正在尝试从 Dockerfile 运行容器(以及其他一些服务)” - 不确定这是否有意义?你是什么意思?
-
“有趣的是,如果我使用 docker run -it my_image 运行它” - 很奇怪,您能发布整个 Dockerfile 以及您尝试如何运行它(各种方式)吗?
-
@johnharris85 - 谢谢,我的错 - 我的意思是说我正在尝试使用 docker-compose 运行容器。我已经更新了我的问题。回到办公桌后,我可能会发布更多信息。
标签: apache docker docker-compose dockerfile