[docker] docker-composeとapache

$ pwd
/home/vagrant/dev/docker/basic

$ sudo docker run –rm -v /home/vagrant/dev/docker/basic/:/tmp/ -it httpd /bin/bash
$ cp /usr/local/apache2/conf/httpd.conf /tmp/

httpd.conf

    # CustomLog "logs/access_log" combined
    CustomLog "logs/access_log" combined
</IfModule>

$ echo “Hello World!” > index.html

docker-compose.yml

version: "2"
services:
  web-container:
    image: httpd
    volumes:
      - ./index.html:/usr/local/apache2/htdocs/index.html
      - ./httpd.conf:/usr/local/apache2/conf/httpd.conf
    ports:
      - 8080:80
    expose:
      - 80

バックグラウンドで指定する場合は -d をつける
$ sudo docker-compose up -d
http://192.168.56.10:8080/

$ sudo docker-compose exec web-container /bin/bash
# more /usr/local/apache2/logs/access_log
$ sudo docker-compose stop
$ sudo docker-compose rm

docker-comoseの停止や削除はdocker-compose.ymlで指示している
docker-composeでdockerfileで起動する場合は image: httpd としていたところを build: ./rproxy などとする

なるほど、buildとimageのところやdocker-compose.ymlが何を見ているかなどが明確になった。