私はMongoDBとDockerを使って遊んでいます。この時点で私は自分自身が仕事で使うための便利なイメージを作成しようとしています。私が作成しているDockerfile
次MongoDBをドッキングするアドバイスが必要
FROM mongo:2.6
MAINTAINER Reynier Perez <[email protected]>
VOLUME /data/db /data/configdb
CMD ["mongod"]
EXPOSE 27017
そして、私は私のdocker-compose.yml
ファイルに追加しました:
- ドI:私は私が作ったこのセットアップに関するいくつかの質問を持っている
version: '2' services: ### PHP/Apache Container php-apache: container_name: "php55-dev" image: reynierpm/php55-dev ports: - "80:80" environment: PHP_ERROR_REPORTING: 'E_ALL & ~E_DEPRECATED & ~E_NOTICE' volumes: - ~/mmi:/var/www - ~/data:/data links: - mongodb ### MongoDB Container mongodb: container_name: "mongodb" build: ./mongo environment: MONGODB_USER: "xxxx" MONGODB_DATABASE: "xxxx" MONGODB_PASS: "xxxx" ports: - "27017:27017" volumes: - ~/data/mongo:/data/db
が
Dockerfile
にある必要があります。または、この行を表示するには十分でしょう~/data/mongo:/data/configdb
docker-compose.yml
? - 私はMongoイメージを作成するとすぐに、データベースを作成し、環境変数にパスワードを設定してユーザーに完全な権限を与えることを前提としています(hereから)。私は正しいですよ? (何か助けが得られませんでしたhere)
- mongoコンテナに作成する必要があるデータベースに、現在のmongoバックアップ(いくつかのJSONファイル)をインポートするにはどうすればよいですか?私は
mongorestore
コマンドを実行する必要があると信じているが、どのように?コンテナを開始するたびにスクリプトを作成して実行する必要がありますか?またはイメージ作成中に実行する必要がありますか?最善のアプローチは何ですか?
私はAnabilitiesから始めようとしましたが、これがまだ成長しているのであれば、もう一度それを検討するつもりです。あなたの答えを正しいものとして受け入れても、DBを作成してユーザーを追加するためのbashの簡単なスクリプト例を追加すると改善できますか?私は手がかりを持っていない – ReynierPM