Linux--Docker容器(1)

这里写目录标题

  • 简介
    • 名词解释
    • 作用
  • 指令
    • 在本地创建容器的过程:(这里以tomcat为例)
    • 访问容器
      • 端口映射
      • 目录挂载
      • 验证端口映射
      • 验证目录挂载
    • 删除镜像
    • 多小组访问容器
    • mysql容器

简介

名词解释

Linux--Docker容器(1)_第1张图片
Docker镜像:可以将镜像理解为面向对象的类,或者说一个模版,用来创建应用或者说容器
Docker容器:镜像的实例化对象,也就是实实在在的应用,称为容器,相当于一个类的对象
Docker主机:运行Docker的虚拟机,也称为宿主机
Docker仓库:里面存放着许多镜像,属于一个类库

作用

我们在进行团队开发时,如果遇到有人使用的开发工具的版本不一致,那么会造成许多麻烦,而Docker就保证了应用版本的绝对一致,因为只要是同一个镜像实例化出来的容器,那么就一定是同一个版本

运行思路如下所示:
先从仓库(本地或者云)找到需要的镜像并拉取到宿主机、
之后创建该镜像的容器,给容器命名,该容器就是一个实实在在的应用了
Linux--Docker容器(1)_第2张图片

指令

在本地创建容器的过程:(这里以tomcat为例)

Linux--Docker容器(1)_第3张图片

1、首先查看本地是否有Docker库:(docker images)
在这里插入图片描述
2、之后搜索想要的镜像:
在这里插入图片描述
搜索时可以进行精确搜索对应的版本号,如果不加版本号,会列出所有,一般选择star最多的一个版本
Linux--Docker容器(1)_第4张图片
3、拉取镜像到本地:(如果不加版本号,会拉取最新版本)
Linux--Docker容器(1)_第5张图片
4、在本地创建docker容器:
在这里插入图片描述
在此之后,tomcat1就是一个tomcat应用的名字

5、启动tomcat进程:
Linux--Docker容器(1)_第6张图片

访问容器

仅仅在本地创建并启动容器是不够的,当前是无法从其他终端访问到宿主机上的容器的,需要进行如下操作

首先这是一个指令:run
Linux--Docker容器(1)_第7张图片
几个注意点:
对于-i选项,是创建容器
对于-d选项,是守护运行,其实就是运行容器,并且将日志隐藏到后台
对于-p选项,第一个是宿主机准备开放的端口号,第二个是容器的端口号,其中宿主机端口号容易修改,而容器的端口号轻易不改
对于-v选项,第一个是宿主机的文件目录,表示pc端向虚拟机传文件时,传到虚拟机的目录是哪里,可以更改
第二个是容器指定目录,一般是默认规定好的,不容易修改

且对于run命令,有如下规则:
在这里插入图片描述

端口映射

Linux--Docker容器(1)_第8张图片
将容器的端口映射到宿主机的端口,这样当访问到宿主机的端口后,直接就访问到了容器

目录挂载

Linux--Docker容器(1)_第9张图片
当传输文件时,如果不进行目录挂载,只能从pc端传入到宿主机,无法进入容器,这时进行目录挂载,可以将宿主机目录的内容同步到容器的指定目录中

验证端口映射


注意,如果本地没有对应的镜像,会自动拉取到本地
上图的命令要在最后加上一个镜像名,因为这里要进行容器的创建,与创建容器指令相似

运行完之后,再次到浏览器刷新端口号对应的网址,就可以进入了

验证目录挂载

之后我们进入到容器里面
Linux--Docker容器(1)_第10张图片
注意,id号可以简写
进入到容器挂载的目录,ls命令查看当前目录有哪些内容,目前是空

然后我们向宿主机对应的目录中放入一个文件

再回到容器挂载的目录,ls查看,文件已经同步了
在这里插入图片描述

删除镜像


删除一个镜像时,可以先强制删除镜像目前的容器,之后再rmi 移除镜像

多小组访问容器

在这里插入图片描述
只需要修改容器名,宿主机端口号(该端口号很宽松,可以按照意愿进行修改),之后再更改容器名,实例化第二个容器即可

同时服务器还要开放端口5050,就可以互联网访问了

mysql容器

Linux--Docker容器(1)_第11张图片
在这里插入图片描述
安装mysql时,与tomcat一样,
直接使用run命令
docker run -id --name mysql1(2、3、4、…) -p 宿主机准备开放的端口号:容器端口号 -v 宿主机目录:容器规定的目录 -e 数据库密码 最后是镜像(相当于类名)

安装好mysql之后,还要设置一下项目链接 这个链接是将一个项目与其数据库链接起来,如下,这就表示一个项目连上了mysql数据库,访问7070就可以打开项目页面
在这里插入图片描述

你可能感兴趣的:(linux,docker)