docker学习笔记01

访客4年前黑客文章735

一、docker概述

1.为什么要提出docker?

将一个应用项目上线时,需要在服务器配置复杂的环境,过于费时费力,以及在同一台服务器上部署不同的应用,可能产生冲突。

2.传统与现在应用部署的不同?

a.传统:开发人员开发代码包,直接交给运维人员,再由运维人员部署运行环境,应用上线

b.现在:开发打包部署上线,一套流程完成

3.docker的优势?

a.docker将多个应用通过容器隔离起来,放在同一个服务器上运行,可以避免不同应用部署在同一台服务器上而产生的冲突问题

b.docker也可以利用隔离机制将服务器的资源利用到极致

4.docker的相关网站?

a.官网

b.官方文档

c.镜像仓库

二、容器化和虚拟化技术介绍

a.虚拟化技术

下载系统的原生镜像文件,一般都是几个G大小,然后安装在VM中,十分笨拙

b.容器化技术

通过docker镜像仓库,或者阿里云镜像仓库下载镜像(一般就几M,或者几百M),在通过镜像创建容器,容器之间彼此隔离,使用起来小巧方便

c.两种技术优缺点对比

虚拟化技术:可以较好且完整的模拟出一台计算机,但其占宿主主机的资源较多,安装部署步骤多,操作麻烦,启动慢
容器化技术:其不是模拟出一个完整的操作系统,容器内的应用是直接运行在宿主主机上,容器并没有自己的内核,也没有虚拟自己的硬件。每个容器之间都是相互隔离的,都有自己的文件系统,互不影响

三、docker的作用

a.应用更快速的交付和部署

docker打包镜像发布测试,一键运行

b.更快捷的升级和扩缩容

c.更简单的系统运维

d.更高效的利用计算机资源

可以在一台物理机上运行多个容器实例,从而保证充分利用服务器的资源,把性能压缩到极致

四、docker安装

地址:https://blog.csdn.net/qq_44316726/article/details/108557361

五、run的运行流程和底层原理

1.当我们使用docker run命令创建一个容器时,其运行流程如下

a.docker会在本机上搜索镜像,判断其是否存在

b.若在本机上找到该镜像,就使用该镜像创建容器。否则,进行下一步

c.去docker Hub官网下载镜像,若找到了该镜像就下载到本地,并使用其创建容器。若没有找到该镜像,就返回错误

2.底层原理

docker是一个Client-Server结构的系统,docker的守护进程运行在主机上,使用者通过Socket从客户端访问该进程。docker-Server在接收到docker-Client的指令后,会执行该指令

六、docker的常用命令

a.帮助命令

docker version? #显示docker的版本信息

docker info #显示详细的系统详细,包括镜像和容器的数量

docker 命令 --help #显示该命令的详细信息,以及使用 ***

b.镜像命令

查看镜像:

docker? images? #查看本地主机上的镜像

#参数介绍? -a? 列出所有镜像? -q? 只显示镜像的id

搜素镜像

docker search? 镜像名

#参数介绍? --f? 过滤选项

实例:docker search --filter=SIZE=5000 mysql

下载镜像

docker pull 镜像名 #默认下载最新版本的镜像

docker pull 镜像名:版本号 #下载指定版本

删除镜像

docker rmi -f 镜像id #删除一个镜像

docker rmi -f 镜像id? 镜像id #删除多个镜像

docker rmi -f $(docker image -aq) #删除所有本地的镜像

c.容器命令

注意:我们只有有了镜像,才可以常见容器

新建并启动容器

docker run [选项] 镜像名

#选项解释

--name='centos01' #指定容器的名称,用于区分同一镜像创建的不同容器

-d? #后台运行

-it? #交互式运行,并进入容器查看内容

-p? #指定容器的端口

-p ip:主机端口:容器端口

-p 主机端口:容器端口

-p 容器端口

容器端口

-P? #随机指定端口

列出运行的容器

docker ps [选项] ? ? #列出正在运行的容器

选项解释

-a? #列出正在运行的容器+历史上运行的容器

-n=数字? #列出最近的进程容器

-q? #只显示容器的编号

退出容器

exit #退出并停止容器

Ctrl+q+p? #退出不停止容器

删除容器

docker rm 容器id #删除指定容器,但不可以删除正在运行中的容器

docker rm -f? 容器id? #可以删除正在运行中的容器

docker rm -f $(docker ps -aq) #删除所有容器

启动停止容器

docker start 容器id

docker restart 容器id

docker stop 容器id

docker kill 容器id #强制停止容器

七、docker的高级命令

a.查看日志

docker logs --tf --tail 日志显示条数 容器id

b.查看容器中的进程数

docker top 容器id

c.查看镜像的元数据

docker inspect 容器id

d.进入后台运行

docker exec -it 容器id /bin/bash #进入容器后,会开启新的终端,在里面操作

docker attach 容器id #进入容器后,不会开启新的终端,直接使用正在运行的终端

e.将容器中的文件拷贝的物理主机上

docker cp 容器id:容器内路径? 物理主机的目标路径

相关文章

闪翼黑客,网络网站黑客,黑客破解qq密码教程

2. UNIQUE_ID_DO_NOT_REMOVE:包括两部分。 185.62.188[.]30:4433 隐写术后门cd WSC2/咱们再来测验经过英国Google域名来恳求澳大利亚Google...

零基础学小程序开发需要多久(自学小程序开发)

  微信小程序遮盖的子单位早已做到200个。伴随着愈来愈多的店家进到微信小程序生态体系,一样的固定不动模版开发设计服务项目方式早已不可以考虑当今销售市场对小程序定制开发的要求。小程序定制开发专用工具“...

王者荣耀s20赛季结束时间 王者荣耀S21赛季更新时间分享

王者荣耀s20什么时候结束?体验服正在测试s20赛季要更新的内容,官方最近也公布了s20赛季限定皮肤,总之这些都是下个赛季更新才要出的,距离s20赛季结束是越来越近了,小编本次就为大家分析一下赛季更新...

夏季护肤小常识(10 个夏季护肤小窍门)

夏季护肤小常识(10 个夏季护肤小窍门) 小可爱们晚桑好~ 最近天气越来越热,就连干皮的六六两颊都开始有点出油了。BUT 要是你因此觉得,在夏天我们的护肤工程可以稍做休息的话,那就是大错特错了!我们...

公有云和私有云有哪些区别(一分钟秒懂公有云

公有云和私有云有哪些区别(一分钟秒懂公有云

如今,企业越来越能感觉到上云所带来的好处。 不过,开始对云解决方案提供商进行调查之前,他们首先需要了解哪种类型的云是正确的选择。即使在 IT 专家中,“云”一词对不同的人而言,其意味也不尽相同。云不...

DOP检测(dop检测口)

DEHP测试又称DOP测试,欧盟颁布的关于邻苯二甲酸盐的指令2005/84/EC于2007年1月16日开始实施。根据该指令,所有玩具和育儿用品的塑料材料中,DEHPDBPBBP。 HPLC测定性塑料用...