# mongo db docker compose ## Docker installtion on linux 1. [Install Docker Engine on CentOS](https://docs.docker.com/engine/install/centos/) 2. [Install Docker Engine on Ubuntu](https://docs.docker.com/engine/install/ubuntu/) 3. ```shell # 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 ```shell $ vim docker-compose.yml ``` docker-compose.yml ```yaml= 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/ ``` ```shell $ 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 ```yaml= 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/ ``` ```shell= $ mkdir jsfiles $ docker compose up -d $ docker compose exec mongo mongosh /data/jsfiles/xx.js ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up