科学の箱

科学・IT・登山の話題

Docker

mongodbをdockerで導入してみる

投稿日:2018年10月2日 更新日:

dockerではmongodbがすでに提供されている。

手順はこちらにある。

https://techsparx.com/software-development/docker/damp/mongodb.html

まずはリポジトリからmongodbのイメージを取得する。

$ docker pull mongo
Using default tag: latest
latest: Pulling from library/mongo
3b37166ec614: Pull complete
504facff238f: Pull complete

|

eabf5629c48a: Pull complete
0f89e09a524d: Pull complete
Digest: sha256:66d58bd625a758ce537931ba5193fd0df3878548fbabce2012c96a584be96ce7
Status: Downloaded newer image for mongo:latest

次にmongodbを実行する。こんな感じでたくさんメッセージが出てくる。

$ docker run –name mongo01 mongo

2018-10-03T09:56:14.636+0000 I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify –sslDisabledProtocols ‘none’
2018-10-03T09:56:14.640+0000 I CONTROL [initandlisten] MongoDB starting : pid=1 port=27017 dbpath=/data/db 64-bit host=1e2e6413a0de
2018-10-03T09:56:14.640+0000 I CONTROL [initandlisten] db version v4.0.2
2018-10-03T09:56:14.640+0000 I CONTROL [initandlisten] git version: fc1573ba18aee42f97a3bb13b67af7d837826b47
2018-10-03T09:56:14.640+0000 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2g 1 Mar 2016
2018-10-03T09:56:14.640+0000 I CONTROL [initandlisten] allocator: tcmalloc
2018-10-03T09:56:14.640+0000 I CONTROL [initandlisten] modules: none

mongodbが立ち上がるとこのcommand lineでは入力を受け付けなくなる。別のコマンドラインを立ち上げて、起動を確認する。

$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1e2e6413a0de mongo “docker-entrypoint.s…” About a minute ago Up About a minute 27017/tcp mon go01

ではmongodbにアクセスしてみる。

$ docker exec -it mongo01 bash
root@1e2e6413a0de:/#

root@1e2e6413a0de:/# mongo
MongoDB shell version v4.0.2
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 4.0.2
Welcome to the MongoDB shell.
For interactive help, type “help”.
|
>

mongodbにデータを書き込んでみる。

db.foo.find()
> db.foo.save({a:1});
WriteResult({ “nInserted” : 1 })
> db.foo.find()
{ “_id” : ObjectId(“5bb493a480c267e29d70a3ce”), “a” : 1 }

さてこのmongodbに外部アプリケーションからアクセスできるようにする。

$ docker network create mnet
90bc85a317421157cdc9871ea24459d0ddf788730fc59d06c4d63c9082f89458

$ docker network inspect mnet
[
{
“Name”: “mnet”,
“Id”: “90bc85a317421157cdc9871ea24459d0ddf788730fc59d06c4d63c9082f89458”,
“Created”: “2018-10-03T10:03:26.6821793Z”,
“Scope”: “local”,
“Driver”: “bridge”,
“EnableIPv6”: false,
“IPAM”: {
“Driver”: “default”,
“Options”: {},
“Config”: [
{
“Subnet”: “172.18.0.0/16”,
“Gateway”: “172.18.0.1”
}
]
},

さて今度はmongo01が別のアプリケーションから接続できるよう、起動しなおす。

まずは現在のmongo01を停止、削除する。

$ docker stop mongo01

$ docker rm mongo01

mnetを使ってmongo01を起動する。

$ docker run –name mongo01 –net mnet mongo

別のコマンドラインからリモートでmongo01に接続する。

$ docker run -it –rm –net mnet mongo sh -c “exec mongo –host mongo01”
MongoDB shell version v4.0.2

 

 

メタ情報

inarticle



メタ情報

inarticle



-Docker
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

add-apt-repositoryでcertificate errorが出る

https://download.docker.com/linux/ubuntu groovy Release Certificate verification failed: The certifi …

no image

docker build

docker build用のファイル From docker/whalesay:latest RUN apt-get -y update && apt-get install -y f …

no image

DockerサーバーにでVNCサーバーを入れたらDockerが消失した件

復旧に使ったコード yum repolist all yum-config-manager –enable docker-ce-stable yum repolist all yum install …

no image

StatusがImagePullBackOffになる場合

StatusがImagePullBackOffになる場合 該当のイメージについてdocker pullしてみる。 タグを省略している場合にはlatestが見つからずに失敗することがある。 Relate …

no image

docker-machine createが”Waiting for ssh to be available…”で停止してしまう

Windows Hyper-Vを利用してdocker-machineを作成すると下記のメッセージで停止してしまう。 Waiting for ssh to be available…” 既知の問題である …

2018年10月
« 9月   11月 »
1234567
891011121314
15161718192021
22232425262728
293031  

side bar top



アーカイブ

カテゴリー