Dockerでnginx + php + mysql5.7

DockerでLaravel6.x環境を作ろうと思ったが、かなり苦戦。

version: '3'
services:
  web:
    image: nginx:1.13.5-alpine
    ports:
      - "80:80"
    depends_on:
      - app
    volumes:
      - ./web/default.conf:/etc/nginx/conf.d/default.conf
      - ./data/html:/var/www/html

  app:
    build: ./app
    env_file: .env
    environment:
      DATABASE_HOST: db
    depends_on:
      - db
    volumes:
      - ./data/html:/var/www/html

  db:
    image: mysql:5.7.19
    env_file: .env
    ports:
      - "3306:3306"
    volumes:
      - db-data:/var/lib/mysql
      - ./db/initial.sql:/docker-entrypoint-initdb.d/initial.sql

volumes:
  db-data:

メモリを増設しないとmysqlが起動しない。
$ sudo /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
$ sudo /sbin/mkswap /var/swap.1
$ sudo /sbin/swapon /var/swap.1

$ sudo docker exec -it 749 bash
root@7491eb45c0f0:/# mysql -u root -p
Enter password:

$ sudo docker exec -it a5fce sh
/var/www/html # php -v
PHP 7.1.9 (cli) (built: Sep 27 2017 21:40:25) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
/var/www/html # node -v
sh: node: not found

phpを7.3にして、nodeを入れる必要がある。