使用docker compose file

时间:2016-11-23 11:15:01

标签: docker docker-compose dockerfile devops

我有一个dockerfile来安装httpd。当我使用命令

运行此dockerfile时

docker run -dit / bin / bash

容器已启动且正在后台运行。当我执行 docker ps 时,我可以看到容器正在运行。

我创建了一个docker-compose.yml文件,如下所示,

version: '2'
services:
  web:
    build:
      context: ./web
      dockerfile: Dockerfile-apache
    image: web:1.0
    container_name: web
    ports:
    - "80:80"
    command: service httpd start

我使用

构建了这个撰写文件

docker-compose build

之后我使用

启动了容器

docker-compose up -d

容器正在退出。我不知道如何让容器在后台运行。

此外,我想让服务在容器内运行。例如,我需要在容器内运行 service httpd start 这样的命令以及如何操作?

1 个答案:

答案 0 :(得分:6)

这是因为只要命令运行,Docker容器就会存在。 您的命令service httpd start将在后台启动httpd,然后退出。这将终止httpd和容器。

您必须直接在前台运行httpd进程,请参阅official image's start script

httpd -DFOREGROUND