30-2之使用 Docker 來建構 MongoDB
IT 鐵人賽 2016 mongodb
Lastmod: 2019-12-16

由於網站上已經有很多mongodb的安裝方法,所以本篇將說明,如何使用Docker來建立可使用mongodb的環境,這也代表你的電腦只要有安裝docker,都可以使用mongodb,不再需要去找各種東西的安裝方法。

~ Step1. 安裝Docker ~

Mac安裝

https://docs.docker.com/docker-for-mac/

docker最開始時還沒支援mac,而是需要用到其它方法來使用,但現在已經有出docker-for-Mac了,但注意雖然他是穩定版,但在mac自動休眠後,常常發生Bad response from Docker engine……,這目前好像沒啥解法,只能reset docker 或 重開機 ……

Windows7 安裝

https://www.docker.com/products/docker-toolbox

雖然出了docker-for-windows但目前只支援windows10和Server 2016,windows7哭哭。

Windows10 安裝

https://docs.docker.com/docker-for-windows/

懶講。

Ubuntu 安裝

https://philipzheng.gitbooks.io/docker_practice/content/install/ubuntu.html

請參考這篇安裝。

~ Step2. 建立 docker-compose.yml ~

在某個檔案夾下建立docker-compose.yml,並且內容如下,然後在執行docker-compose up指令,它就自動幫你建立一個裝有mongodb的環境。

version: '2'

services:
  mongo:
    image: mongo
    ports:
      - "27017:27017"
    volumes_from:
      - mongodata
  mongodata:
    image: tianon/true
    volumes:
      - /data/db

下圖為在該檔案夾下執行docker-compose up結果。可以看到他建立一個port為27017並且資料存放在環境/data/dbmongodb

Alt text

~ Step3. 進入Docker Container裡操作 MongoDB ~

在執行完docker-compose up後,換到另一個shell,然後你可以執行docker ps指令來確定有mongodbcontainer有沒有執行,你可以把container想成為一個很小的VM

從下圖可知,執行docker ps後可看到你這台電腦有在執行的container,其中mongo就是我們剛剛執行的。

Alt text

接下來我們就執行docker exec -ti 333fba82b57e bash,其中333fba82b57eCONTAINER ID,如下圖,你就進入到這個container中囉。

Alt text

最後在執行mongo你就可以執行mongodb的指令囉。

Alt text

~ 結語 ~

docker如果學會真的是很方便,如果是在team中,有新人來,不在需要和他說要安裝啥、安裝啥、然後卡到大喊學長救我,學長事實上會有點……,除非人真的很好,又或是他對你有意思。

各位+u^2

~ 參考資料 ~

comments powered by Disqus