济南网站建设费用,有的网站网速慢,四合一小说网站搭建教程,app设计平台文章目录 一、Docker概述1、定义2.容器化流行的原因3.Docker和虚拟机的区别4.Docker核心概念 二、安装docker三、镜像管理1.搜索镜像2.下载#xff08;拉取#xff09;镜像3.查看已下载镜像4.查看镜像详细信息5.修改镜像标签6.删除镜像7.导出镜像文件和拉取本地镜像文件8.上传… 文章目录 一、Docker概述1、定义2.容器化流行的原因3.Docker和虚拟机的区别4.Docker核心概念 二、安装docker三、镜像管理1.搜索镜像2.下载拉取镜像3.查看已下载镜像4.查看镜像详细信息5.修改镜像标签6.删除镜像7.导出镜像文件和拉取本地镜像文件8.上传镜像到公有仓库 四、容器管理1.创建容器2.开启容器3.关闭容器4.查看容器状态信息5.删除容器6.进入容器7.复制文件8.创建并启动容器替代1和29.容器的导入和导出 一、Docker概述
1、定义
是一个开源的应用容器引擎基于go语言开发并遵循了apache2.0协议开源 是在Linux容器里运行应用的开源工具 是一种轻量级的“虚拟机” Docker的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的、可移植的、自给自足的容器。 Docker的Logo设计为蓝色鲸鱼拖着许多集装箱。鲸鱼可看作为宿主机集装箱可理解为相互隔离的容器每个集装箱中都包含自己的应用程序。 Docker的设计宗旨“Build Ship and Run Any App,Anywhere”即通过对应用组件的封装、发布、部署、运行等生命周期的管理达到应用组件级别的一次封装到处运行的目的。这里的组件既可以是一个立用也可以是一套服务甚至是一个完整的操作系统。
2.容器化流行的原因
灵活即使是最复杂的应用也可以集装箱化。 轻量级容器利用并共享主机内核。 可互换可以即时部署更新和升级。 便携式可以在本地构建部署到云并在任何地方运行。 可扩展可以增加并自动分发容器副本。 可维叠可以垂直和即时维叠服务。
3.Docker和虚拟机的区别
容器是在linux上本机运行并与其他容器共享主机的内核它运行的是一个独立的进程不占用其他任何可执行文件的内存非常轻量。 虚拟机运行的是一个完整的操作系统通过虚拟机管理程序对主机资源进行虚拟访问相比之下需要的资源更多。 容器在内核中支持2种重要技术
1docker本质就是宿主机的一个进程通过namespace实现资源隔离通过cgroup实现资源限制。 2通过写时复制技术(copy-on-write)实现了高效的文件操作。(类似虚拟机的磁盘比如分配500g并不是实际占用物理磁盘500g只有当需要修改时才复制一份数据
4.Docker核心概念
1镜像 Docker的镜像是创建容器的基础类似虚拟机的快照可以理解为一个面向Docker容器引擎的只读模板。通过镜像启动一个容器一个镜像是一个可执行的包其中包括运行应用程序所需要的所有内容包含代码运行时间库、环境变量、和配置文件。 Docker镜像也是一个压缩包只是这个压缩包不只是可执行文件环境部署脚本它还包含了完整的操作系统。因为大部分的镜像都是基于某个操作系统来构建所以很轻松的就可以构建本地和远端一样的环境这也是Docker镜像的精髓。
2容器 Docker的容器是从镜像创建的运行实例它可以被启动、停止和删除。所创建的每一个容器都是相互隔离、互不可见以保证平台的安全性。可以把容器看做是一个简易版的linux环境〈包括root用户权限、镜像空间、用户空间和网络空间等和运行在其中的应用程序。
3仓库 Docker仓库是用来集中保存镜像的地方当创建了自己的镜像之后可以使用push命令将它上传到公有仓库Public)或者私有仓库(Private)。当下次要在另外一台机器上使用这个镜像时只需从仓库获取。 Docker的镜像、容器、日志等内容全部都默认存储在/var/lib/docker
二、安装docker
yum install -y yum-utils device-mapper-persistent-data lvm2
#yum-utils提供了 yum-config-manager 工具。
#device mapper 是Linux内核中支持逻辑卷管理的通用设备映射机制它为实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构。
#device mapper存储驱动程序需要 device-mapper-persistent-data 和 lvm2。#设置阿里云镜像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#安装 Docker-CE并设置为开机自动启动
yum install -y docker-ce docker-ce-cli containerd.io
systemctl enable --now docker三、镜像管理
1.搜索镜像 2.下载拉取镜像
docker pull 仓库名/镜像名:标签3.查看已下载镜像
docker images # -q 选项可以过滤镜像ID号4.查看镜像详细信息
docker inspect 镜像ID5.修改镜像标签
docker tag 原仓库名/原镜像名:原标签 新仓库名/新镜像名:新标签6.删除镜像
docker rmi 仓库名/镜像名:标签 镜像ID 7.导出镜像文件和拉取本地镜像文件
1导出镜像文件 docker save -o xxx.tar 仓库名/镜像名:标签 #默认导出到当前目录2拉取本地镜像文件
docker load -i xxx.tar # -i 也可以使用 替换拉取成功
8.上传镜像到公有仓库
首先访问hub.docker.com登录注册docker官方网站
docker login #输入账户名和密码登录官网
docker push 账户名/镜像名 #上传自用镜像四、容器管理
1.创建容器
容器创建就是将镜像加载到容器的过程。新创建的容器默认处于停止状态不运行任何程序需要在其中发起一个进程来启动容器。
docker create [选项] 镜像名--name容器名-i 让容器开启标准输入接受用户输入命令-t 让 Docker 分配一个伪终端 tty-it 合起来实现和容器交互的作用运行一个交互式会话 shell 2.开启容器
docker start 容器名或ID3.关闭容器 分为优雅停止和强制停止强制停止区别于优雅停止的是状态码不同强制停止可能造成数据异常在特点状况下使用。1优雅停止
docker stop 容器名或ID2强制停止
docker kill 容器名或ID4.查看容器状态信息
docker ps #默认查看开启的容器-a #查看所有存在的容器-q #显示容器ID创建时 开启后 优雅停止后 强制停止后 只显示ID
5.删除容器
docker rm 容器名或ID6.进入容器
docker exec -it 容器名或ID sh7.复制文件
1从容器中复制到主机
docker cp 容器名或ID:文件路径 主机文件路径2从主机复制到容器
docker cp 主机文件路径 容器名或ID:文件路径8.创建并启动容器替代1和2
docker run 容器名或ID [指定命令] #等同于先执行 docker create 命令再执行 docker start 命令之后默认执行镜像定义的命令也可以自己指定命令命令执行完则退出。-d #后台运行
当利用 docker run 来创建容器时 Docker 在后台的标准运行过程是
检查本地是否存在指定的镜像。当镜像不存在时会从公有仓库下载 利用镜像创建并启动一个容器 分配一个文件系统给容器在只读的镜像层外面挂载一层可读写层 从宿主主机配置的网桥接口中桥接一个虚拟机接口到容器中 分配一个地址池中的 IP 地址给容器 执行用户指定的应用程序执行完毕后容器被终止运行。
可以使用死循环使某些容器如centos操作系统持续运行 打开另一个终端查看处于运行中也能进入此包含centos操作系统的容器执行操作 但是使用死循环持续运行会占用前台所以直接使用-d选项
9.容器的导入和导出 用户可以将任何一个 Docker 容器从一台机器迁移到另一台机器。在迁移过程中可以使用docker export 命令将已经创建好的容器导出为容器快照文件无论这个容器是处于运行状态还是停止状态均可导出。可将导出文件传输到其他机器通过相应的导入命令实现容器的迁移。1导出
docker export 容器ID/名称 文件名
docker export -o 容器ID/名称 文件名2导入 注意导入后会生成镜像但不会创建容器
docker import 文件名 -- 镜像名:标签