Last active
May 30, 2022 08:14
-
-
Save Satch09/6e4ba69904a37a801e7d38ea5dbf9e4a to your computer and use it in GitHub Desktop.
Docker-learning
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
version: "3.8" | |
# docker-compose automatically --rm | |
# all services defined within 1 docker-compose file | |
# will automatically be added to the same network | |
services: | |
# folder name + service name _1 = container name | |
mongodb: | |
container_name: "mongodb" | |
# override default docker-compose naming convention | |
image: "mongo" | |
volumes: | |
- data:/data/db | |
# compose will also auto create data volume | |
# containing folder name + _data | |
env_file: | |
# specify external secrets file | |
# "-" means list item | |
# KEY: value for single items | |
- ./env/mongo.env | |
# networks: | |
# - goals-net | |
# docker will also auto-create network but an already existing one | |
# may be specified | |
# name = containing folder name + _default | |
backend: | |
container_name: "backend" | |
# override default docker-compose naming convention | |
build: ./backend | |
ports: | |
- "80:80" | |
volumes: | |
- logs:/app/logs | |
# binded-mount, which is specified relative to docker-compose file | |
- ./backend:/app | |
- /app/node_modules | |
# context: /backend | |
# dockerfile: Dockerfile | |
# longer way of doing it, context folder can be specified | |
env_file: | |
- ./env/backend.env | |
depends_on: | |
# One may have to specify multiple services in order to start backend only for example. Setting depends_on automates starting support containers | |
- mongodb | |
frontend: | |
container_name: "frontend" | |
# override default docker-compose naming convention | |
build: ./frontend | |
ports: | |
- "3000:3000" | |
volumes: | |
- ./frontend/src:/app/src | |
- ./readonly:/readonly/folder:ro | |
# Note :ro to mount as ready only volume | |
stdin_open: true | |
tty: true | |
depends_on: | |
- backend | |
# in order to use the data volume above, it must be declared as below | |
volumes: | |
data: | |
logs: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment