はじめに
これはある記事を参考にnode.jsとmongodbとnginxのDocker環境をcomposeでめっちゃお手軽に作ったろ、とか思ったらエラーしたため案外悪戦苦闘してしまった人のお話です。
そのため、ほとんど内容は書かず、下に貼ってあるサイトに丸投げします。
ただ一点、エラーの発生する場所だけ書きますのであらかじめご理解を。
(この記事を書いてるEchizenって人なんですが、一応何かしら言っといたほうがいいのかしらん?)
[参考]
環境
22/05/21
・CentOS7
・Docker 1.13.1
・Docker-compose 1.18.0
docker-compose.yml
参考のサイトを進めていけば適当なディレクトリ構成でnode.jsとmongodbとnginxが使える環境が作れるはずなのですが、最後の最後に書かれているdocker-compose.ymlはコピ&ペするだけではエラーが発生してしまいます。
↑これです
僕がエラーを出してしまった場所はインデントとバージョンの指定のようです。
よって以下のように書き換えます。
version: '3'
services:
nginx:
build: ./nginx
container_name: nginx
depends_on:
- server
ports:
- 8080:80
server:
build: ./server
container_name: server
depends_on:
- mongo
mongo:
image: mongo
container_name: mongo
environment:
MONGO_INITDB_DATABASE: admin
volumes:
- ./mongo/init.js:/docker-entrypoint-initdb.d/init.js:ro
- ./mongo/mongo-data:/data/db
# Start mongo with authentication enabled
command: [mongod, --auth]
変更点は先ほど言った通り、ヘッドに書き加えたのと、インデントを変えたのです。
最後に
どうしてコピペしても出来なかったんだろう???
記事を書く際にインデントが変更されてしまっていたのか、それともDocker-composeのバージョンが違ったのか。まぁそれは僕にはわからないことです。
ともかく、こうすれば少なくともnode.jsとmongodbとnginxの環境が整えられると思います。さーこれでnode.jsでサーバーアプリを作れるぞー!