通过命令创建
当前最新的 MongoDB 版本是 4.2.2,下面使用 Docker 简单示例下环境搭建:
- 启动 MongoDB,设置
root用户及密码
2.启动 Mongo-Express,设置登录用户及密码docker run -d -p 27017:27017 --name mongodb --volume /usr/local/mongodata:/data/db -e MONGO_INITDB_ROOT_USERNAME=mongoroot -e MONGO_INITDB_ROOT_PASSWORD=mongopw mongo:4.2.2
docker run -it --restart=always --name mongo-express --link mongodb:mongo-db -d -p 8081:8081 -e ME_CONFIG_OPTIONS_EDITORTHEME="3024-night" -e ME_CONFIG_BASICAUTH_USERNAME="mongoexpress" -e ME_CONFIG_BASICAUTH_PASSWORD="mongoexpress" -e ME_CONFIG_MONGODB_ADMINUSERNAME="mongoadmin" -e ME_CONFIG_MONGODB_ADMINPASSWORD="mongoadmin" mongo-express
docker network ls可以查看当前所有的 Docker NETWORK通过docker compose创建
安装docker-compose
之前我们已经通过一键安装脚本安装了python3以及pip3,所以我们直接使用pip3来安装docker-compose
sudo pip3 install docker-compose
通过pip3来安装的优势是一般不收网速限制,再一个就是可自动安装依赖。
编辑docker-compose文件
通过docker compose文件来合并上两步操作,创建docker-compose.yml文件并写入以下内容,并根据各自实际情况修改(如端口,磁盘映射,用户名密码等)
version: '3.1'services:mongodb:image: mongo:4.2.2ports:- 27017:27017restart: alwaysenvironment:TZ: Asia/ShanghaiMONGO_INITDB_ROOT_USERNAME: mongorootMONGO_INITDB_ROOT_PASSWORD: mongopwvolumes:- /data/db:/data/db- /etc/localtime:/etc/localtimemongo-express:links:- mongodb:mongoimage: mongo-expressrestart: alwaysports:- 8081:8081environment:ME_CONFIG_OPTIONS_EDITORTHEME: 3024-nightME_CONFIG_BASICAUTH_USERNAME: mongoexpressME_CONFIG_BASICAUTH_PASSWORD: mongoexpressME_CONFIG_MONGODB_ADMINUSERNAME: mongorootME_CONFIG_MONGODB_ADMINPASSWORD: mongopw
version
compose文件格式版本,将按照该版本语法去执行.yml文件
services
image
ports
暴露端口信息,(HOST:CONTAINER)格式或者仅仅指定容器的端口(宿主将会随机选择端口)。
restart
environment
volumes
卷挂载路径设置,可以设置宿主机与容器的路径映射关系(HOST:CONTAINER)或加上访问模式 (HOST:CONTAINER:ro),挂载数据卷的默认权限是读写(rw),可以通过ro指定为只读。
也可以在主机上挂载相对路径,该路径将相对于当前正在使用的Compose配置文件的目录进行扩展。 相对路径应始终以 . 或者 .. 开始。
