如何在?Docker?中運(yùn)行?Mongodb
本篇內(nèi)容,詳細(xì)介紹如何在 docker 中運(yùn)行 mongo 的 文章中用到了較多的 docker 命令以及概念
安裝 docker
(已經(jīng)安裝了 docker,可以跳過此步驟...)
ubuntu 可以參考這篇教程安裝:Install Docker Engine on Ubuntu。
查看 docker 的版本:
$ sudo docker --version [sudo] password for pengfei: Docker version 20.10.18, build b40c2f6
下載,運(yùn)行 mongo 鏡像
1)在 docker hub 中下載 mongo 鏡像:
sudo docker pull mongo
2)確保安裝了 mongo 鏡像
$ sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE mongo latest 1cca5cf68239 2 days ago 695MB hello-world latest feb5d9fea6a5 12 months ago 13.3kB
3)創(chuàng)建 docker 容器
使用下載的 mongo
鏡像創(chuàng)建容器,并釋放 27017 端口,這樣我們可以通過本機(jī)的 27017 端口訪問運(yùn)行的 mongo 數(shù)據(jù)庫服務(wù),--name
指示要啟動(dòng)的容器名稱。
$ sudo docker run -p 27017:27017 --name mongodb -d mongo
啟動(dòng) mongodb 后,本機(jī)可以使用 studio 3T 等數(shù)據(jù)庫可視化客戶端,連接到 localhost:27017
來連接數(shù)據(jù)庫。
查看正在運(yùn)行的 docker 容器:
$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a05a1533b628 mongo "docker-entrypoint.s…" 17 minutes ago Up 17 minutes 0.0.0.0:27017->27017/tcp, :::27017->27017/tcp mongodb
可以看到 mongodb 容器正在運(yùn)行。
停止 mongo 容器運(yùn)行:
$ sudo docker stop mongodb mongodb
查看所有容器,包括未停止運(yùn)行的容器,可以看到 STATUS
為 exited
:
$ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a05a1533b628 mongo "docker-entrypoint.s…" 22 minutes ago Exited (0) 47 seconds ago mongodb 849405137c9e hello-world "/hello" 46 minutes ago Exited (0) 46 minutes ago wizardly_neumann
重新啟動(dòng)容器:
$ sudo docker start mongodb mongodb
4)使用 volume 持久化數(shù)據(jù)
雖然成功啟動(dòng)了 mongodb,但每次停止容器后,docker 容器里面的數(shù)據(jù)都會(huì)消失,可以通過 volume 來保存數(shù)據(jù),這樣下次重新啟動(dòng)容器后,數(shù)據(jù)可以得以恢復(fù),不會(huì)丟失。
$ sudo docker run -it -v mongo_volume:/data/db/mongo -p 27017:27017 --name mongodb -d mongo a05a1533b6280d95fb625213c579228c627ace989f7b00ba1815b8e81f6c815b
通過 -v
指令,可以創(chuàng)建并關(guān)聯(lián) volume,這里 volume 的名稱為 mongo_volume
,數(shù)據(jù)存儲(chǔ)的位置為 /data/db/mongo
。
查看所有 volume:
$ sudo docker volume ls DRIVER VOLUME NAME local 9cf22727a49818b76240fcfd16f0f017a46075974d84cca7b680d03022b1e605 local 58ee5403f72d36bc066757f3a4dc25867046d02acc7e6e69b52bfa530cbabb68 local 24553a91d0eafd60a73f23a65c0f463cb61cbf557ea64ab43d5b784d8a9622d9 local b8783d382ad0f423ec3064d94401a968ab08f1c766a71f05cdaa17e5e384efc9 local bffb4d18d9398a92711c3b121c327884e2b2f12ec175dbbb0d7611f526f6747c local d38c59edc35c306d7c3be775443b13d2dd7b925d56ad1c72ad3267dfb1b05842 local mongo_volume
到此這篇關(guān)于如何在 Docker 中運(yùn)行 Mongodb的文章就介紹到這了,更多相關(guān)Docker 運(yùn)行 Mongodb內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- docker-compose安裝mongoDB全過程
- docker安裝mongoDB及使用方法詳解
- Docker創(chuàng)建MongoDB容器并添加root密碼驗(yàn)證與更多用戶詳細(xì)步驟
- 使用Docker容器部署MongoDB并支持遠(yuǎn)程訪問及遇到的坑
- docker搭建mongodb單節(jié)點(diǎn)副本集的實(shí)現(xiàn)
- Docker 部署 MongoDB容器的方法
- Docker 搭建集群MongoDB的實(shí)現(xiàn)步驟
- 如何使用Docker安裝一個(gè)MongoDB最新版
- docker中使用mongodb數(shù)據(jù)庫詳解(在局域網(wǎng)訪問)
相關(guān)文章
Docker 部署 Prometheus的安裝詳細(xì)教程
這篇文章主要介紹了Docker 部署 Prometheus及安裝方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-08-08docker.service啟動(dòng)報(bào)錯(cuò)的一次排查詳解
這篇文章主要介紹了docker.service啟動(dòng)報(bào)錯(cuò)的一次排查詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-11-11Docker配置Redis集群及主從擴(kuò)容與縮容的操作方法
這篇文章主要介紹了Docker配置Redis集群及主從擴(kuò)容與縮容的操作方法,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-06-06詳解Docker 容器基礎(chǔ)系統(tǒng)鏡像打包
這篇文章主要介紹了詳解Docker 容器基礎(chǔ)系統(tǒng)鏡像打包,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-12-12