目录
3、查看是否安装成功:Yum list installed |grep docker
3、下载镜像:Docker pull imgname(镜像名称)
4、检查网络 ;Sysctl net.ipv4.ip_forward
一、什么是虚拟化
虚拟化是一种资源管理技术,将计算机上的各种实体资源,如:服务器,网络,内存,存储进行抽象,转换后呈现出来,打破实体结构之间不可切割的障碍,使用户以更好的组态使用资源。
Vm可以虚拟化。
容器技术:在计算机上虚拟出独立的一块空间。
Vm虚拟化:需要虚拟整个计算机
容器技术:是基于物理计算机内核
容器虚拟化:
1、容器可以制造一个权限隔离监牢。
./当前目录 ../上一层
2、执行效率高,容器技术,在计算机系统当中只是一个进程,使用 方便,效率更高
3、方便部署,更容易保持程序运行环境的一致性。
Docker组件
Docker是一个c/s结构
Server 服务
Server端存储镜像
Client 客户
Client 进行镜像的下载,使用,上传
1、Image 镜像
镜像是构建docker的基石,docker把应用程序及依赖关系包,打包到镜像文件当中,通过这个文件生成docker容器,image可以说是容器的模板。
Docker镜像是有文件系统叠加而成的,底端是一个文件引导系统,在容器运行起来的时候,引导系统被卸载,留出更多的空间给磁盘镜像使用。
2、Registry 注册中心
注册中心位于服务端,用来保存用户构建的镜像,registty分为公有和 私有两种,公有的叫做docker hub,我们可以注册账号,分析镜像,但 是docker hub是外网,下载镜像很慢,建议各位同学搭建自己的 registry。但是一定要注意,直接保存镜像文件的不是registry,而是
3、repository(仓库)
一个注册中心(registry)可以有多个仓库 (repository),一个仓库(repository)里面有多个镜像(image)。
容器:容器用来运行镜像的系统或者程序,容器基于镜像创建模板,然 后运行,容器是基于镜像启动的,容器可以运行一个或者多个进程。
容器具体讲:是一个镜像格式,一些列标准操作,一个执行环境。
Docker借鉴了标准集装箱的概念。标准集装箱将货物形成大小的标准。
二、Docker安装与基本使用
Docker可以运行在windows上,linux上。
Centos系统对docker支持友好,centos上docker运行稳定。
其他系统,docker需要到官网下载,解压,安装
Centos yum源自带docker
所以在centos上docker安装:
1、安装命令
1、安装:yum -y install docker
2、报错处理
3、查看是否安装成功:Yum list installed |grep docker
4、启动docker
Docker 在centos当中是一个服务,所以启动的命令是
Systemctl start docker
2、docker命令
1、查看版本:Docker version
2、查看镜像:docker images
其中:
Repository 仓库
Tag 标签
Image id 镜像id
Created 创建时间
Size 镜像大小
3、下载镜像:Docker pull imgname(镜像名称)
由于docker hub是外网,下载镜像很慢,所以我们可以搭建自己的 registry
修改docker源(中国科技大学)
Docker配置文件
先进入socker文件中
路径是 cd /etc/docker
然后添加修改
从新下载:
下载成功!!
拓展:
上面的这一串字符是哈希加密的值。
Hash MD5:
除了加密,还可以做版本校验
1、hash MD5 无论对一个字符还是一个文件还是一个超大文件,加密后的结果长度一样
2、hash MD5加密对象有细微的变化,结果都会有巨大的变化。
3、Hash md5不可逆加密
4、Hash md5 对同一对象加密结果一下
那么我们回忆:
如果对文件进行加密,然后将文件和加密后的结果传输给了用户,用户收到文件之后,对文件再次进行加密,然后比对两次加密的值,确保文件传输正确。
4、检查网络 ;Sysctl net.ipv4.ip_forward
启动镜像
查看,当前没有mysql服务
检查网络
Sysctl net.ipv4.ip_forward
出现上述结果,则网络正常
如果不是,进入 /etc/sysctl.conf下修改配置文件
添加
Net.ipv4.ip_forward= 1
然后重启网络:Sysctl restart network
5、创建容器
创建方法有两种:一种是先创建再开启,一种是直接创建并开启
1、先创建再开启
docker create -it --name mysql8.0 91dadee7afee /bin/bash
创建容器
Docker create -it --name mysql8.0 mysql(镜像id) /bin/bash
Create 创建
-i 交互式
-t 容器启动后会进入命令行,-i和-t一起运行容器创建之后就能登录进去,并且分配 一个伪终端
启动容器
Docker start -ai mysql8.0
Start 开始
-a 将当前的输入/输出链接到容器上
-i 将当前的输入链接到容器上
退出容器
exit
2、创建并启动容器
docker run -dit --name=mysql8.0 91daddee7afee /bin/bash
Run 运行
-d 守护容器,容器当中的程序需要长期运行的时候,我们可以创建一个守护式的容器,就算exit也不会停止。
常用守护参数的
Mysal
Nginx
Apache
tomcat
-i 交互式
-t 容器启动后会进入命令行,-i和-t一起运行容器创建之后就能登录进去,并且分配 一 个伪终端
6、进入容器
Docker exec -it mysql8.0 /bin/bash
Exec 进入容器
-i 交互式
-t 容器启动后会进入命令行,-i和-t一起运行容器创建之后就能登录进去,并且分配 一 个伪终端
/bin/bash进入执行的第一个命令
退出容器我们用exit
报错:
Container 容器
7、容器的常规管理
Container 容器
Docker container ls 列出运行的容器
Container ID 容器id
Image 镜像id
Command 命令
Created 创建时间
Status 状态
Up 启动状态
Exited 退出状态
Ports 端口/协议
Name 容器的名称
Docker container ls --all 列出所有的容器
Dcoker container stop 容器id或者容器名称 停止运行容器
Dcoker container start 容器id或者容器名称 开始运行容器
docker container kill 容器id或者容器名称 杀死容器
Docker container rm 容器id或者容器名称 删除容器