这里写目录标题
- 简介
- 名词解释
- 作用
- 指令
- 在本地创建容器的过程:(这里以tomcat为例)
- 访问容器
- 端口映射
- 目录挂载
- 验证端口映射
- 验证目录挂载
- 删除镜像
- 多小组访问容器
- mysql容器
简介
名词解释
Docker镜像:可以将镜像理解为面向对象的类,或者说一个模版,用来创建应用或者说容器
Docker容器:镜像的实例化对象,也就是实实在在的应用,称为容器,相当于一个类的对象
Docker主机:运行Docker的虚拟机,也称为宿主机
Docker仓库:里面存放着许多镜像,属于一个类库
作用
我们在进行团队开发时,如果遇到有人使用的开发工具的版本不一致,那么会造成许多麻烦,而Docker就保证了应用版本的绝对一致,因为只要是同一个镜像实例化出来的容器,那么就一定是同一个版本
运行思路如下所示:
先从仓库(本地或者云)找到需要的镜像并拉取到宿主机、
之后创建该镜像的容器,给容器命名,该容器就是一个实实在在的应用了
指令
在本地创建容器的过程:(这里以tomcat为例)
1、首先查看本地是否有Docker库:(docker images)
2、之后搜索想要的镜像:
搜索时可以进行精确搜索对应的版本号,如果不加版本号,会列出所有,一般选择star最多的一个版本
3、拉取镜像到本地:(如果不加版本号,会拉取最新版本)
4、在本地创建docker容器:
在此之后,tomcat1就是一个tomcat应用的名字
5、启动tomcat进程:
访问容器
仅仅在本地创建并启动容器是不够的,当前是无法从其他终端访问到宿主机上的容器的,需要进行如下操作
首先这是一个指令:run
几个注意点:
对于-i选项,是创建容器
对于-d选项,是守护运行,其实就是运行容器,并且将日志隐藏到后台
对于-p选项,第一个是宿主机准备开放的端口号,第二个是容器的端口号,其中宿主机端口号容易修改,而容器的端口号轻易不改
对于-v选项,第一个是宿主机的文件目录,表示pc端向虚拟机传文件时,传到虚拟机的目录是哪里,可以更改
第二个是容器指定目录,一般是默认规定好的,不容易修改
且对于run命令,有如下规则:
端口映射
将容器的端口映射到宿主机的端口,这样当访问到宿主机的端口后,直接就访问到了容器
目录挂载
当传输文件时,如果不进行目录挂载,只能从pc端传入到宿主机,无法进入容器,这时进行目录挂载,可以将宿主机目录的内容同步到容器的指定目录中
验证端口映射
注意,如果本地没有对应的镜像,会自动拉取到本地
上图的命令要在最后加上一个镜像名,因为这里要进行容器的创建,与创建容器指令相似
运行完之后,再次到浏览器刷新端口号对应的网址,就可以进入了
验证目录挂载
之后我们进入到容器里面
注意,id号可以简写
进入到容器挂载的目录,ls命令查看当前目录有哪些内容,目前是空
然后我们向宿主机对应的目录中放入一个文件
再回到容器挂载的目录,ls查看,文件已经同步了
删除镜像
删除一个镜像时,可以先强制删除镜像目前的容器,之后再rmi 移除镜像
多小组访问容器
只需要修改容器名,宿主机端口号(该端口号很宽松,可以按照意愿进行修改),之后再更改容器名,实例化第二个容器即可
同时服务器还要开放端口5050,就可以互联网访问了
mysql容器
安装mysql时,与tomcat一样,
直接使用run命令
docker run -id --name mysql1(2、3、4、…) -p 宿主机准备开放的端口号:容器端口号 -v 宿主机目录:容器规定的目录 -e 数据库密码 最后是镜像(相当于类名)
安装好mysql之后,还要设置一下项目链接 这个链接是将一个项目与其数据库链接起来,如下,这就表示一个项目连上了mysql数据库,访问7070就可以打开项目页面