第七天
Docker概念
什么是容器
容器是一种应用层的抽象,是一个标准化的单元
容器和虚拟机不同,容器里不包含操作系统相关的内容
所以容器相对虚拟机的启动与部署就更轻量与容易
所以现在更多人选择通过Docker创建一个容器,在容器中启动相应的基础设施
Docker
是源于dotCloud的开源的一套引擎
—简化搭建开发环境
常用命令
镜像相关
• docker pull
容器相关
• docker run
• docker start/stop <容器名>
• docker ps <容器名>
• -d,后台运行容器
• -e,设置环境变量
• --expose / -p 宿主端口:容器端口
• --name,指定容器名称
• --link,链接不同容器
配置Docker及启动MongoDB
Docker
https://hub.docker.com/editions/community/docker-ce-desktop-windows/
到这个网址下载Docker安装程序,直接安装即可,没有什么需要额外注意的
如果出现了这个错误呢,就按照提示的网址下载linux安装包更新即可
安装完成后,先配置一下国内的镜像
https://dev.aliyun.com
启动shell或cmd或terminal
输入命令
docker version
显示版本信息就是安装正常
测试HelloWorld
启动shell或cmd或terminal
输入命令
docker run hello-world
如图下就是正常
MongoDB
用docker命令安装mongoDB
docker pull mongo
初始化mongoDB的用户名及密码及端口信息等
docker run --name mongo -p 27017:27017 -v mongodata:/data/db -e MONGO_INITDB_ROOT_USERNAME=root -e MONGO_INITDB_ROOT_PASSWORD=root -d mongo
启动mongo bash,输入用户名及密码
C:\Users\86138>docker exec -it mongo bash
root@426a96cc4ae3:/# mongo -u root -p root
可以看到MongoDB连接成功
可以输入show dbs命令查看mongoDB内存在的DB信息
第二次运行Docker
本人是win10 家庭版出现了Docker一直在is starting 的错误
现已解决
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
将上述命令重命名为Hyper-V.cmd用管理员模式运行后自动重启即可开启Hyper-V
上一次笔记中已经配置好了用户名与密码root
先启动容器
docker start mongo
然后启动bash,连接DB
docker exec -it mongo bash
mongo -u root -p root
创建库springbucks(其实是使用此库,但系统会自动创建)
use springbucks
依行输入创建用户及权限
db.createUser(
{
user: "springbucks",
pwd: "springbucks",
roles: [
{ role: "readWrite", db: "springbucks" }
]
}