Node.jsのためのDockerfileを用意する
ファイルの内容は少しぼかしている部分があるが、一通り動くと思う。
FROM node ENV NODE_ENV=dev WORKDIR /usr/src/app COPY ./app/ . EXPOSE 3000 CMD [ "yarn", "dev" ]
docker-compose
version: "3" services: db: image: mysql restart: always environment: MYSQL_ROOT_PASSWORD: "rootpassword" MYSQL_DATABASE: "dbname" MYSQL_USER: "username" MYSQL_PASSWORD: "userpassword" TZ: "Asia/Tokyo" ports: - 3306:3306 volumes: - db-store:/vol/mysql networks: - network-name api: image: "docker-image-name" container_name: "container-name" build: context: . ports: - "3000:3000" env_file: - .env volumes: - /app/:/app networks: - network-name depends_on: - db volumes: db-store: networks: network-name:
.envは以下のようにしている キー名は任意の名前でよい。はず
.env
PORT=3000 DB_HOST=hostname DB_PORT=dbport DB_USER=dbuser DB_PASSWORD=dbpassword DB_DATABASE=dbname
だいたいこれだけで動く
時間に余裕ができたら、詳しく書こうと思う。