Try   HackMD

mongo db docker compose

Docker installtion on linux

  1. Install Docker Engine on CentOS

  2. Install Docker Engine on Ubuntu

# Ubuntu
$ sudo apt install -y curl vim
# CentOS
$ sudo yum install -y curl vim


$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh

$ sudo docker --version
$ sudo docker ps

docker compose

$ vim docker-compose.yml

docker-compose.yml

version: '3' services: mongo: image: mongo:6 restart: always command: --wiredTigerCacheSizeGB 1.5 ports: - 27017:27017 environment: MONGO_INITDB_ROOT_USERNAME: root MONGO_INITDB_ROOT_PASSWORD: rootPASSwd mongo-express: image: mongo-express:latest restart: always ports: - 8081:8081 environment: ME_CONFIG_MONGODB_ADMINUSERNAME: root ME_CONFIG_MONGODB_ADMINPASSWORD: rootPASSwd ME_CONFIG_MONGODB_URL: mongodb://root:rootPASSwd@mongo:27017/
$ docker compose pull
# 下載 images

$ docker compose up -d
# 在背景啟動所有服務

$ docker compose ps
# 顯示所有服務狀態

$ docker compose logs -f mongo
# 顯示 mongo 服務 log

$ docker compose exec mongo mongosh
# 連入 mongo 服務使用 mongosh

$ docker compose down
# 停止並移除所有服務

使用 mongo-express

  • 開啟瀏覽器 http://<vm-ip>:8081
    • http://127.0.01:8081

docker volume and exec js

version: '3' services: mongo: image: mongo:6 restart: always command: --wiredTigerCacheSizeGB 1.5 volumes: - ./jsfiles:/data/jsfiles ports: - 27017:27017 environment: MONGO_INITDB_ROOT_USERNAME: admin MONGO_INITDB_ROOT_PASSWORD: adminPASSwd MONGO_INITDB_DATABASE: defaultdb mongo-express: image: mongo-express:latest restart: always ports: - 8081:8081 environment: ME_CONFIG_MONGODB_ADMINUSERNAME: admin ME_CONFIG_MONGODB_ADMINPASSWORD: adminPASSwd ME_CONFIG_MONGODB_URL: mongodb://admin:adminPASSwd@mongo:27017/
$ mkdir jsfiles $ docker compose up -d $ docker compose exec mongo mongosh /data/jsfiles/xx.js