docker

目录

一、docker概述

二、容器的优点,区别,核心

区别

六大namespace

docker三大核心

三、安装步骤

四、镜像操作命令

#搜索镜像

#获取镜像

#查看镜像下载信息

#为本地的镜像添加新的标签

#删除镜像

#保存镜像到本地文件

#载入镜像:将镜像文件导入到镜像库中

五、容器的操作命令

#创建容器

#查看容器运行状态

#启动容器

#终止容器

#删除容器


一、docker概述

Docker,翻译过来就是码头工人

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可抑制的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器完全使用沙盒机制,相互之间不会存在任何接口。几乎没有性能开销,可以很容易的在机器和数据中心运行。最重要的是,他们不依赖于任何语言、框架或者包装系统。

小知识:沙盒也叫沙箱(sandbox)。在计算机领域指一种虚拟技术,而且多用于计算机安全技术。安全软件可以让它在沙盒中运行,如果含有恶意行为,则禁止程序的进一步运行,而这不会对系统造成任何危害。

Docker是dotCloud公司开源的一个基于LXC的高级容器引擎,源码托管在Github上,基于go语言并且遵从Apache2.0协议开源。
GitHub地址:https://github.com/moby/moby

小知识:LXC为Linux Container的简写。Linux Container 容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性。
LXC主要通过Kernel的namespace实现每个用户实例之间的项目隔离,通过cgroup实现对资源的配额和调度。

docker官网:https://www.docker.com
docker中文库:https://www.docker.org.cn/

---------------------------------------------------------------------------------------------------------------------------------

二、容器的优点,区别,核心

●灵活:即使是最复杂的应用也可以集装箱化。
●轻量级:容器利用并共享主机内核。
●可互换:可以即时部署更新和升级。
●便携式:可以在本地构建,部署到云,并在任何地方运行。
●可扩展:可以增加并自动分发容器副本。
●可堆叠:可以垂直和即时堆叠服务。

区别
docker虚拟机
共享宿主机内核有独立的内核
通过namespace实现资源隔离每个虚拟机完全隔离
通过cgroup实现资源最大使用率有独立的资源硬件
启动速度快 秒级启动速度慢  分级别

容器相当于宿主机的进程

性能几乎么有损耗

需要通过hypervisor虚拟

有损耗

一个宿主机可以启动成千上百容器最多几十台虚拟机

六大namespace

mnt

隔离文件系统
net隔离网络
pid隔离进程号
ipc隔离进程之间的通信
uts隔离主机名
user隔离用户名

docker三大核心

镜像:创建容器的基础,是一个只读模板

容器:用镜像运行的实例,可被创建,启动,停止,删除 每个容器之间相互隔离

仓库:用来集中存储镜像的地方,有共有仓和私有仓库

三、安装步骤

先安装依赖  yum install -y yum-utils device-mapper-persistent-data lvm2  默认已经安装好了 保险起见再安装一下

然后设置下载镜像源 用阿里云的

阿里云镜像源:

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

然后下载docker

yum install -y docker-ce docker-ce-cli containerd.io
 

然后启动docker

systemctl start docker.service 
systemctl enable docker.service 
 

查看版本

四、镜像操作命令

#搜索镜像

docker search 镜像名 

例子:docker search nginx

#获取镜像

docker pull 镜像名字

#查看镜像下载信息

docker images

REPOSITORY:镜像属于的仓库;
TAG:镜像的标签信息,标记同一个仓库中的不同镜像;
IMAGE ID:镜像的唯一ID 号,唯一标识一个镜像;
CREATED:镜像创建时间;
VIRTUAL SIZE:镜像大小;
 

此时我还没有下载镜像 所以里面没有

#为本地的镜像添加新的标签

docker tag 名称:[标签] 新名称:[新标签]
例子:docker tag nginx:latest nginx:web
 

#删除镜像

docker rmi 镜像ID  会彻底删除该镜像

#保存镜像到本地文件

docker save -0 存储文件名 存储的镜像

例子:docker save -o nginx nginx:latest            #存出镜像命名为nginx存在当前目录下

#载入镜像:将镜像文件导入到镜像库中


格式:
docker load < 存出的文件
或者
docker load -i 存出的文件
---------------------------------------------------------------------------------------------------------------------------------

五、容器的操作命令

#创建容器

docker create -it 镜像:版本号 /bash 或者 /sh

例子:docker create -it nginx:latest /bin/bash

#查看容器运行状态

docker ps -a            #-a 选项可以显示所有的容器

CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS    PORTS     NAMES
8b0a7be0ff58   nginx:latest   "/docker-entrypoint.…"   57 seconds ago   Created             inspiring_swanson

容器的ID号       加载的镜像     运行的程序               创建时间       当前的状态  端口映射  名称
 

#启动容器

docker start 容器名/容器id

#终止容器

docker stop 容器名/容器id   优雅的停止  默认10秒后停止

docker kill  容器名/容器id     强制停止

#删除容器

docker rm  容器名 / 容器id

-f 代表强制删除

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值