首页 > 其他分享 >docker概述、安装与镜像操作

docker概述、安装与镜像操作

时间:2022-12-15 17:56:57浏览次数:54  
标签:容器 仓库 标签 概述 镜像 docker Docker

一、Docker

1、容器概述

容器是在linux上本机运行,并与其他容器共享主机的内核,它运行的是一个独立的进程,不占用其他任何可执行文件的内存,非常轻量

2、Docker概述

(1)Docker是一个开源的应用容器引擎,基于go语言开发并遵循apache2.0协议开源
(2)Docker是在Linux容器里运行应用的开源工具,是一种轻量级的“虚拟机”
(3)Docker的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的、可移植的、自给自足的容器,也可以利用docker在多台主机上轻松的创建并运行容器

3、Docker的设计宗旨

Build,Ship and Run Any App Anywhere

通过对应用组件的封装、发布、部署、运行等生命周期的管理,达到应用组件级别的“一次封装,到处运行”的目的。这里的组件,既可以是一个应用,也可以是一套服务,甚至是一个完整的操作系统。

4、容器与虚拟机的区别

容器是在Linux上本机运行,并与其他容器共享主机的内核,它运行的是一个独立的进程,不占其他任何可执行文件的内存,非常轻量。

虚拟机运行的是一个完整的操作系统,通过虚拟机管理程序对主机资源进行虚拟访问,相比之下需要的资源更多。

特性Docker容器虚拟机
启动速度 秒级 分钟级
计算能力损耗 几乎无 损耗50%左右
性能 接近原生 弱于
系统支持量(单机) 上千个(根据业务大小而定,一般在200多个左右) 几十个
操作系统 主要支持Linux 几乎所有
隔离性 进程级别,资源隔离/限制 系统级别,完全隔离
部署难度 非常简单 组件多,部署复杂
执行性能 和物理系统几乎一致 vm会占用一些资源
镜像体积 镜像MB级别 镜像GB级别
管理效率 简单 组件相互依赖,管理复杂
网络连接 比较弱 借助neutron可以灵活组件各类网络管理

5、容器在内核中支持两种重要的技术

docker本质就是宿主机的一个进程,docker是通过namespace实现资源隔离,通过cgroup实现资源限制,通过写实复制技术(copy-on-write)实现了高效的文件系统(类似虚拟机的磁盘比如分配500g并不是实际占用物理磁盘500g)

namespace的六项隔离:

namespace系统调用参数隔离内容
UTS CLONE_NEWUTS 主机名与域名
IPC CLONE_NEWIPC 信号量、消息队列和共享内存
PID CLONE_NEWPID 进程编号
NETWORK CLONE_NEWNET 网络设备、网络栈、端口等
MOUNT CLONE_NEWNS 挂载点(文件系统)
USER CLONE_NEWUSER 用户和用户组

6、Docker核心概念

(1)镜像

Docker的镜像是创建容器的基础,类似虚拟机的快照,可以理解为一个面向Docker容器引擎的只读模板。

通过镜像启动一个容器,一个镜像是一个可执行的包,其中包括运行应用程序所需要的所有内容包含代码、运行时间、库、环境变量、和配置文件。

Docker镜像也是一个压缩包,只是这个压缩包不只是可执行文件,环境部署脚本,它还包含了完整的操作系统。因为大部分的镜像都是基于操作系统来构建,所以很轻松的就可以构建本地和远端一样的环境,这也是Docker镜像的精髓

(2)容器

Docker的容器是从镜像创建的运行实例,他可以被启动、停止和删除。所创建的每一个容器都是相互隔离、互不可见,以保证平台的安全性

可以把容器看做是一个简易版的linux环境(包括root用户权限、镜像空间、用户空间和网络空间等)和运行在其中的应用程序。

(3)仓库

Docker仓库是用来集中保存镜像的地方,当创建了自己的镜像之后,可以使用push命令将它上传到公有仓库(pubile)或者私有仓库(private)。当下次要在另外一台机器上使用这个镜像时,只需从仓库获取

注:Docker的镜像、容器、日志等内容全部都默认存储在 /var/lib/docker/目录下

二、安装Docker

1、环境准备

1 2 systemctl stop firewalld setenforce 0

2、安装依赖包

1 2 3 4 5 yum install -y yum-utils device-mapper-persistent-data lvm2 ------------------------------------------------------- 1.yum-utils:提供了yum-config-manager工具 2.device mapper:是Linux内核中支持逻辑卷管理的通用设备映射机制,它为实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构 3.device mapper存储驱动程序需要device-mapper-persistent-data和lvm2

 

3、设置阿里云镜像源

1 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

 

4、安装Docker-CE并设置为开机自动启动

1 2 3 4 yum install -y docker-ce docker-ce-cli containerd.io   systemctl start docker.service systemctl enable docker.service

 

三、Docker镜像操作

1、查看版本信息和详细内容

1 2 docker version docker info 

 

 

2、搜索镜像

1 2 docker search 关键字 docker search nginx

 

3、获取镜像

1 2 3 docker pull 仓库名称[:标签] #如果下载镜像时不指定标签,则默认会下载仓库中最新版本的镜像,即选择标签为 latest标签 docker pull nginx

 

4、镜像加速下载

1 2 3 4 5 6 7 8 9 10 浏览器访问 http://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 获取镜像加速器配置   mkdir -p /etc/docker tee /etc/docker/daemon.json <<-'EOF' {   "registry-mirrors": ["https://jd2yg3cx.mirror.aliyuncs.com"] } EOF systemctl daemon-reload systemctl restart docker

 

5、查看镜像信息

1 镜像下载后存放在 /var/lib/docker

 

6、查看镜像列表

1 2 #查看下载镜像信息列表 docker images

 

7、获取镜像信息

1 2 docker inspect 镜像id docker inspect 实例:标签

 

8、为镜像添加新标签

1 docker tag 仓库名:标签 新仓库名:新标签名

 

9、删除镜像

1 2 docker rmi 仓库名:标签   #当一个镜像有多个标签时,只是删除其中指定的标签 docker rmi 镜像id  (-f)      #会彻底删除该镜像,如果该镜像已经被容器使用,正确的做法是先删除依赖该镜像的所有容器,再去删除镜像

 

10、存出镜像,将镜像保存成为本地文件

1 docker save -o 存储位置/存储文件名 镜像

 

11、载入镜像,将镜像文件重新导入镜像库中

1 2 docker load < 存出的文件 docker load -i 存出的文件

 

12、上传镜像

1 2 3 4 5 6 7 8 9 默认上传到 docker Hub官方公共仓库,需要注册使用公共仓库的账号https://hub.docker.com 点击使用 docker login 命令来输入用户名、密码和邮箱来完成注册和登录。 在上传镜像之前,还需要先对本地镜像添加新的标签,然后再使用docker push 命令进行上传   docker tag nginx:latest jc111/nginx:web           #添加新的标签时必须在前面加上自己的dockerhub的username docker login                                               #登录公共仓库 Username:账号 password:密码                docker push jc111/nginx:web                             #上传镜像

 

 

标签:容器,仓库,标签,概述,镜像,docker,Docker
From: https://www.cnblogs.com/y0226/p/16984452.html

相关文章

  • docker registry(私库)搭建,使用,WEB可视化管理部署
    DockerRegistry是Docker官方一个镜像,可以用来储存和分发Docker镜像。目前比较流行的两个镜像私库是DockerRegistry,HarBor其中HarBor最合适企业级应用,提供良好的WEB界......
  • docker概念
    虚拟化技术Docker安装设置镜像加速总结基础了解IAAS:基础设施服务,(只提供基础设施,没有系统)SAAS:软件即服务,(提供基础设施和系统)PAAS:平台即服务,(提供基础设施和系统和......
  • Docker下/var/lib/docker/overlay2空间清理办法
    Docker下/var/lib/docker/overlay2空间清理办法Docker下/var/lib/docker/overlay2空间清理办法1.查看磁盘占用   df-h2.Docker的内置CLI指令doc......
  • 3.2 Docker 容器操作命令 1. 容器生成
    在本地有了镜像之后(默认安装Docker后,会自带初始镜像,可通过Dockerimages命令进行查看),开发者就可以使用镜像生成容器,具体命令如下:dockerrun-d-p8888:8080--nam......
  • 3. Docker 命令操作 3.1 Docker 镜像操作命令
    开发者在装有Docker的机器上可以使用一些命令,进行镜像的管理。命令如下。1.镜像的查看使用以下命令可以查看本地镜像列表,展示结果如图7所示。其中IMAGE_ID为镜像......
  • 1.6 Docker 容器 ip 和端口映射
    在Dokcer中共有四种网络模式:⚫host模式,使用--net=host指定⚫container模式,使用--net=container:NAMEorID指定⚫none模式,使用--net=none指定⚫bridge模......
  • 2. Docker 安装
    目前Docker官方提供Ubuntu、CentOS、Windows、MacOS操作系统的安装包。具体支持版本如下: ➢Ubuntu◼UbuntuPrecise12.04(LTS)◼UbuntuTrusty14.04(LTS)......
  • Docker学习笔记十二:Docker安装MySQL
    下载命令:dockerpullmysql:5.7安装可参考Docker Hub官网说明的镜像的用法  安装 不挂载目录启动容器创建容器命令:dockerrun-d--name=mysql1-p3307:......
  • 1.1 Docker 和虚拟机
    虽然Docker和虚拟机有着很多的相似之处,但是Docker和虚拟机之间有着本质的区别。  从图中可以看出虚拟机运行基于6层结构。6层结构包括硬件层、宿主机操作系统......
  • 1.2 Docker Container
    DockerContainer(容器)即Docker将宿主机隔开的一个个独立空间。在容器内部我们可以像操作普通系统一样操作容器。容器完全使用沙箱机制,相互之间不会有任何接口,几乎没有......