docker

docker的定义

docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖到一个可移植的镜像中, 然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。

容器是完全使用沙盒机制,相互之间不会有任何接口。

沙盒机制

沙盒机制,又称之为沙盒,是一种计算机安全领域中的技术,用于为运行中的程序提供隔离的环境。这种机制主要通过进程隔离、资源隔离、数据隔离方式实现。

沙盒机制广泛应用于操作系统、浏览器,移动应用等场景。宗旨在于提高安全性和稳定性。在移动设备中,每个应用都有属于自己的沙盒机制,访问自己的存储空间,有助于保护应用面授其他应用程序的干扰。在计算机中,沙盒机制用于测试可能带有恶意代码的程序。因为在沙盒中即使有恶意行为,也不会对其他系统造成实际性的破坏。

进程隔离

通过创建独立的进程来运行应用,进程之间相互独立,有自己的内存空间和资源,从而保证程序的异常不会对其他线程或系统产生影响。

权限控制

通过权限控制来限制应用程序对资源的访问。例如通过访问控制列表或者用户权限来限制程序对文件系统的访问,防止数据泄露或破坏。

资源隔离

资源隔离对应用程序的资源使用进行限制。例如CPU的使用率和内存使用量。以防止摸个程序占用资源过多导致其他资源运行缓慢

docker容器和虚拟机的区别

相同:docker容器和虚拟机都采用了虚拟的技术

不同:docker对于虚拟机来说少了操作系统层,少使用资源所以效率提高。

docker框架

docker框架分为三大部分

1.docker客户端

用于执行命令,客户端接收到命令会将命令发给docker主机,由主机执行这个命令,同时会将docker的一些信息展示给用户。

2.docker主机

执行docker命令的,接收到docker客户端的命令,执行这个命令,这个过程是隐藏的,不会暴露给用户。

3.远程仓库

提供了丰富的镜像,有丰富的资源供开发者下载。

两个关键词

1、镜像

远程仓库中提供的都是镜像,镜像是启动容器必须的。【相当于面向对象中的类概念】。

2、容器

docker中真正运行的软件被称为容器,【相当于面向对象中的对象概念】。

docker的特性及优点

特点:

隔离,文件隔离、系统隔离、资源隔离、网络隔离、日志隔离等。每个容器都完全独立运行在一个沙盒中,所有数据、资源都是隔离的,比如,CPU、内存等等,网络上会为每个容器虚拟一个ip地址,docker为每个容器都提供自己的日志,互不影响。

优点:

它的虚拟化做的比虚拟机要好,更节省资源。可以跨平台,不需要担心操作系统的影响,另外docker的应用也很广泛,各大公司都有应用。

缺点:

docker对程序是友好的,但是不善于处理文件和数据,一般情况会将文件或数据以路径映射的方式挂载到容器外。

docker的常用操作

1.查看本地镜像:

docker images

2.查找指定镜像:

到官网去查:https://hub.docker.com/

用命令去查:docker search 镜像名称

3.拉取镜像:

docker pull 镜像名:版本号

4.查看容器

查看正在运行的容器:docker ps

查看所有启动器,包括未运行的 docker ps -a

CONTAINER_ID:容器的唯一标识

IMAGE:容器对应的镜像

COMMAND:容器启动执行的命令

CREATED:创建容器的时间

STATUS:容器的当前状态

PORT:容器的端口号

NAMES:容器的名字,自定义。名字不允许重复,无论容器的状态是运行还是停止。名字也是唯一的,操作容器时可以用container_id也可以用名字。

5.移除容器

docker rm 容器id或名字

docker rmi 镜像id或名字:[标签]

6.启动/创建容器

docker run 自定义个名字 镜像名字或id:标签

docker run tomcat8 tomcat:8.0

tomcat启动还要添加其他指令,以保证可以正常访问到tomcat,并且不用占用控制点,在后台运行

docker run -p 8090:8080 -d --name tomcat8-90 tomcat:8.0

7.启动Tomcat容器

启动:docker start 容器名称或id

停止:docker stop 容器名称或id

重启:docker stop 容器名称或id

start和run的区别

run是在第一次启动时执行,准确来说是创建一个容器

start是启动已经存在的容器

start不需要想run一样写多个参数及配置,会自动按照run时的配置和命令启动

8.进入容器

进入容器内部:docker exec -it 容器名称或id /bin/bash

9.退出容器

退出容器可以用ctrl+d,也可以执行exit命令

docker logs 容器名字或id -f -n 数字

-f:日志持续输出,会时时输出产生的日志

-n:输出倒数X条日志

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值