# Docker】Docker安裝MongoDB最新版并連接使用附加docker常用命令
原文鏈接:https://blog.csdn.net/CWK13400405244/article/details/132146488
前言
確保centos7已經安裝docker,沒安裝docker的可以百度自行安裝
一、docker安裝mongodb步驟
1、docker拉取mongo鏡像
```
docker pull mongo:latest
```
2、查看本地鏡像命令
```
#查看鏡像命令
docker images
#查看正在運行的容器
docker ps
#查看全部的容器
docker ps -a
```
3、運行容器
```
docker run -itd --name mongo -p 27017:27017 mongo --auth
```
參數說明: -p 27017:27017 :映射容器服務的 27017 端口到宿主機的 27017 端口。外部可以直接通過 宿主機 ip:27017 訪問到 mongo 的服務。 --auth:需要密碼才能訪問容器服務。
4、進入mongo
```
#5.0版本以上連接mongo使用命令mongosh(現在下載一般都是5.0以上的)
docker exec -it mongo mongosh admin
#5.0版本以下
docker exec -it mongo mongo admin
```
5、創建業務數據庫和一個用戶賬號使用
```
#1.
use admin
#結果:already on db admin
#2.
db.createUser({user:'root',pwd:'root',roles:[{role:'root',db:'admin'}]})
#結果:{ ok: 1 }
#3.
db.auth('root','root')
#結果:{ ok: 1 }
#4.創建業務數據庫和用戶(此時還在admin中)
db.createUser({user:'web',pwd:'web123',roles:[{role:'readWrite',db:'db_clock'}]});
#結果:{ ok: 1 }
#5.
show users
#結果:為一個數組,數組中為兩個用戶
#6.
use db_clock
#結果:switched to db db_clock
#7.
show users
#結果[]
#8.在業務數據庫中創建用戶
db.createUser({user:"dba",pwd:"dba",roles:[{role:"dbOwner",db:"db_clock"}]})
#結果:{ ok: 1 }
#9.
show users
#結果:為一個數組,數組中為一個用戶
#10.認證
db.auth('dba','dba')
#結果:{ ok: 1 }
#11.完結退出
exit
```
6、騰訊云/阿里云的控制面板中的防火墻,開放27017端口
二、navicate連接
express連接線上mongodb數據庫文章可以看這篇
以上是docker安裝MongoDB所有操作,下面是docker的一些常用命令
常用命令引用的是這位up的文章
三、docker常用命令
1、docker鏡像命令
```
#-------------------------------------docker啟動與關閉
# 啟動docker
systemctl start docker
# 關閉docker
systemctl stop docker
# 重啟docker
systemctl restart docker
# docker設置隨服務啟動而自啟動
systemctl enable docker
#-------------------------------------docker狀態
# 查看docker 運行狀態
systemctl status docker
# 查看docker 版本號信息
docker version
docker info
#-------------------------------------鏡像(增)
# 拉取鏡像(增)
docker pull 鏡像名
docker pull 鏡像名:tag
#-------------------------------------鏡像(查)
# 查看鏡像列表(查)
docker images
# 搜索鏡像(查)
docker search 鏡像名
#-------------------------------------鏡像(刪)
# 刪除鏡像(刪)
# 刪除一個
docker rmi -f 鏡像名/鏡像ID
# 刪除多個 其鏡像ID或鏡像用用空格隔開即可
docker rmi -f 鏡像名/鏡像ID 鏡像名/鏡像ID 鏡像名/鏡像ID
# 刪除全部鏡像 -a 意思為顯示全部, -q 意思為只顯示ID
docker rmi -f $(docker images -aq)
# 強制刪除鏡像
docker image rm 鏡像名稱/鏡像ID
```
2、docker容器命令
```
# 查看所有容器列表(包含 正在運行 和 已停止的)
docker ps -a
# 停止容器
docker stop 容器ID/容器名
# 重啟容器
docker restart 容器ID/容器名
# 啟動容器
docker start 容器ID/容器名
# kill 容器
docker kill 容器ID/容器名
# ----------------查看容器日志
docker logs -f --tail=要查看末尾多少行 默認all 容器ID
# 示例:
docker logs -f -t --tail 1000 2ab447816a66
# ----------------更換容器名
docker rename 容器ID/容器名 新容器名
```
1、運行容器
```
# 運行一個容器
# -restart=always 該容器隨docker服務啟動而自動啟動
docker run -it -d --name 要取的別名 鏡像名:Tag /bin/bash
```
命令參數說明:
```
-d:后臺運行容器
-p:端口映射,格式為主機端口:容器端口
-e:設置環境變量,這里設置的是root密碼
–name:設置容器別名
-v 掛載文件,格式為:宿主機絕對路徑目錄:容器內目錄,
比如我們使用:-v /usr/local/mysql/logs:/var/log/mysql
將mysql容器存放日志文件的目錄:/var/log/mysql掛載在宿主機的/usr/local/mysql/logs下
```
```
# 示例
docker run --name mysql \
-v /myapp/mysql:/var/lib/mysql \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:8.0.19
```
2、刪除容器
```
# 停止運行的 redis 容器
docker stop 容器名/容器ID
#刪除一個容器
docker rm -f 容器名/容器ID
#刪除多個容器 空格隔開要刪除的容器名或容器ID
docker rm -f 容器名/容器ID 容器名/容器ID 容器名/容器ID
#刪除全部容器
docker rm -f $(docker ps -aq)
```
3、進入容器
```
docker exec -it 容器名/容器ID /bin/bash
```
4、退出容器
```
# 直接退出 (如果沒有添加-d 參數(持久化運行容器) 該容器會被關閉 )
exit
# 優雅退出 (無論是否添加-d 參數 容器都不會被關閉)
Ctrl + p + q
```
- Golang
- Beego框架
- Gin框架
- gin框架介紹
- 使用Gin web框架的知名開源線上項目
- go-admin-gin
- air 熱啟動
- 完整的form表單參數驗證語法
- Go 語言入門練手項目推薦
- Golang是基于多線程模型
- golang 一些概念
- Golang程序開發注意事項
- fatal error: all goroutines are asleep - deadlock
- defer
- Golang 的內建調試器
- go部署
- golang指針重要性
- 包(golang)
- Golang框架選型比較: goframe, beego, iris和gin
- GoFrame
- golang-admin-項目
- go module的使用方法及原理
- go-admin支持多框架的后臺系統(go-admin.cn)
- docker gocv
- go-fac
- MSYS2
- 企業開發框架系統推薦
- gorm
- go-zero
- 優秀系統
- GinSkeleton(gin web 及gin 知識)
- 一次 request -> response 的生命周期概述
- 路由與路由組以及gin源碼學習
- 中間件以及gin源碼學習
- golang項目部署
- 獨立部署golang
- 代理部署golang
- 容器部署golang
- golang交叉編譯
- goravel
- kardianos+gin 項目作為windows服務運行
- go env
- 適用在Windows、Linux和macOS環境下打包Go應用程序的詳細步驟和命令
- Redis
- Dochub
- Docker部署開發go環境
- Docker部署運行go環境
- dochub說明
- Vue
- i18n
- vue3
- vue3基本知識
- element-plus 表格單選
- vue3后臺模板
- Thinkphp
- Casbin權限控制中間件
- 容器、依賴注入、門面、事件、中間件
- tp6問答
- 偽靜態
- thinkphp-queue
- think-throttle
- thinkphp隊列queue的一些使用說明,queue:work和queue:listen的區別
- ThinkPHP6之模型事件的觸發條件
- thinkphp-swoole
- save、update、insert 的區別
- Socket
- workerman
- 介紹
- 從ThinkPHP6移植到Webman的一些技術和經驗(干貨)
- swoole
- swoole介紹
- hyperf
- hf官網
- Swoft
- swoft官網
- easyswoole
- easyswoole官網地址
- EASYSWOOLE 聊天室DEMO
- socket問答
- MySQL
- 聚簇索引與非聚簇索引
- Mysql使用max獲取最大值細節
- 主從復制
- 隨機生成20萬User表的數據
- MySQL進階-----前綴索引、單例與聯合索引
- PHP
- 面向切面編程AOP
- php是單線程的一定程度上也可以看成是“多線程”
- PHP 線程,進程、并發、并行 的理解
- excel數據畫表格圖片
- php第三方包
- monolog/monolog
- league/glide
- 博客-知識網站
- php 常用bc函數
- PHP知識點的應用場景
- AOP(面向切面編程)
- 注解
- 依賴注入
- 事件機制
- phpspreadsheet導出數據和圖片到excel
- Hyperf
- mineAdmin
- 微服務
- nacos注冊服務
- simps-mqtt連接客戶端simps
- Linux
- 切換php版本
- Vim
- Laravel
- RabbitMQ
- thinkphp+rabbitmq
- 博客
- Webman框架
- 框架注意問題
- 關于內存泄漏
- 移動端自動化
- 懶人精靈
- 工具應用
- render
- gitlab Sourcetree
- ssh-agent失敗 錯誤代碼-1
- 資源網站
- Git
- wkhtmltopdf
- MSYS2 介紹
- powershell curl 使用教程
- NSSM(windows服務工具)
- MinGW64
- 知識擴展
- 對象存儲系統
- minio
- 雪花ID
- 請求body參數類型
- GraphQL
- js 深拷貝
- window 共享 centos文件夾
- 前端get/post 請求 特殊符號 “+”傳參數問題
- 什么是SCM系統?SCM系統與ERP系統有什么區別?
- nginx 日志格式統一為 json
- 特殊符號怎么打
- 收藏網址
- 收藏-golang
- 收藏-vue3
- 收藏-php
- 收藏-node
- 收藏-前端
- 規劃ITEM
- 旅游類
- 人臉識別
- dlib
- Docker&&部署
- Docker-compose
- Docker的網絡模式
- rancher
- DHorse
- Elasticsearch
- es與kibana都docke連接
- 4種數據同步到Elasticsearch方案
- GPT
- 推薦系統
- fastposter海報生成
- elasticsearch+logstash+kibana
- beego文檔系統-MinDoc
- jeecg開源平臺
- Java
- 打包部署
- spring boot
- 依賴
- Maven 相關 命令
- Gradle 相關命令
- mybatis
- mybatis.plus
- spring boot 模板引擎
- SpringBoot+Maven多模塊項目(創建、依賴、打包可執行jar包部署測試)完整流程
- Spring Cloud
- Sentinel
- nacos
- Apollo
- java推薦項目
- gradle
- Maven
- Nexus倉庫管理器
- Python
- Masonite框架
- scrapy
- Python2的pip2
- Python3 安裝 pip3
- 安全攻防
- 運維技術
- 騰訊云安全加固建議
- 免費freessl證書申請
- ruby
- homeland
- Protobuf
- GIT
- FFMPEG
- 命令說明
- 音頻
- ffmpeg合并多個MP4視頻
- NODEJS
- 開發npm包
- MongoDB
- php-docker-mongodb環境搭建
- mongo基本命令
- Docker安裝MongoDB最新版并連接
- 少兒編程官網
- UI推薦
- MQTT
- PHP連接mqtt
- EMQX服務端
- php搭建mqtt服務端