簡體   English   中英

Docker docker-entrypoint-initdb.d/ 帶有 Mongodb 的腳本不起作用

[英]Docker docker-entrypoint-initdb.d/ scripts with Mongodb aren't working

我一直在努力通過 /docker-entrypoint-initdb.d 在 Docker 的 Mongo 容器中配置腳本的執行。

我試圖仔細遵循文檔,但沒有成功。

項目結構

在此處輸入圖像描述

docker-compose.yml

version: '3.3'
services:
  mongodb:
    image: mongo:latest
    container_name: mongo_db
    environment:
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: rootpass
      MONGO_INITDB_DATABASE: database
    volumes:
      - mongodbdata:/data/db
      - ./init.d/:/docker-entrypoint-initdb.d/
    restart: always
volumes:
  mongodbdata:
    driver: local

初始化mongo.sh

#!/bin/bash
echo 'hello script'

在日志中未執行命令 echo 'hello script'。

我應該怎么辦? 有什么我想念的嗎?

Docker 僅在創建映像時執行 docker docker-entrypoint-initdb.d中的腳本,因為這主要用於播種數據。 如果它不是一個新鮮的圖像,而您只是想用您的腳本再次生成它,那么這就是造成它的原因。

您可以嘗試在終端中輸入以下內容:

docker stop $(docker ps -aq) && docker rm $(docker ps -aq) && docker rmi mongo:latest -f && docker-compose up

然后檢查日志:P

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM