Docker学习笔记 (2)

仓库就是存放镜像的地方!
仓库分为公有仓库和私有仓库。(很类似git)
Docker Hub是国外的。
阿里云…都有容器服务器(配置镜像加速!)

2. 安装Docker

环境准备

1.Linux要求内核3.0以上

2.CentOS 7

[root@iz2zeak7sgj6i7hrb2g862z ~]# uname -r 3.10.0-514.26.2.el7.x86_64 # 要求3.0以上 [root@iz2zeak7sgj6i7hrb2g862z ~]# cat /etc/os-release VERSION="7 (Core)" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (Core)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:centos:centos:7" HOME_URL="https://www.centos.org/" BUG_REPORT_URL="https://bugs.centos.org/" CENTOS_MANTISBT_PROJECT="CentOS-7" CENTOS_MANTISBT_PROJECT_VERSION="7" REDHAT_SUPPORT_PRODUCT="centos" REDHAT_SUPPORT_PRODUCT_VERSION="7"

安装

帮助文档:https://docs.docker.com/engine/install/
卸载与安装

#1.卸载旧版本 yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine #2.需要的安装包 yum install -y yum-utils #3.设置镜像的仓库 yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo #上述方法默认是从国外的,不推荐 #推荐使用国内的 yum-config-manager \ --add-repo \ https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #更新yum软件包索引 yum makecache fast #4.安装docker相关的 docker-ce 社区版 而ee是企业版 yum install docker-ce docker-ce-cli containerd.io # 这里我们使用社区版即可 #5.启动docker systemctl start docker #6. 使用docker version查看是否按照成功 docker version #7. 测试 docker run hello-world

卸载docker

#1. 卸载依赖 yum remove docker-ce docker-ce-cli containerd.io #2. 删除资源 rm -rf /var/lib/docker # /var/lib/docker 是docker的默认工作路径! 1.5 阿里云镜像加速 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://voz97hjq.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker 1.6 回顾HelloWorld流程

image-20210203181952880

docker run 流程图

image-20210203182002714

1.7 底层原理

Docker是怎么工作的

Docker是一个Client-Server结构的系统,Docker的守护进程运行在主机上。通过Socket从客户端访问!

Docker-Server接收到Docker-Client的指令,就会执行这个命令!

image-20210203182014586

为什么Docker比Vm快
1、docker有着比虚拟机更少的抽象层。由于docker不需要Hypervisor实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源。因此在CPU、内存利用率上docker将会在效率上有明显优势。
2、docker利用的是宿主机的内核,而不需要Guest OS。

GuestOS: VM(虚拟机)里的的系统(OS) HostOS:物理机里的系统(OS)

image-20210203182033513

因此,当新建一个 容器时,docker不需要和虚拟机一样重新加载一个操作系统内核。仍而避免引导、加载操作系统内核返个比较费时费资源的过程,当新建一个虚拟机时,虚拟机软件需要加载GuestOS,返个新建过程是分钟级别的。而docker由于直接利用宿主机的操作系统,则省略了这个复杂的过程,因此新建一个docker容器只需要几秒钟

2. Docker的常用命令 2.1 帮助命令 docker version #显示docker的版本信息。 docker info #显示docker的系统信息,包括镜像和容器的数量 docker 命令 --help #帮助命令

帮助文档的地址:https://docs.docker.com/engine/reference/commandline/build/

2.2 镜像命令 docker images #查看所有本地主机上的镜像 可以使用docker image ls代替 docker search #搜索镜像 docker pull #下载镜像 docker image pull docker rmi #删除镜像 docker image rm 1. docker images查看所有本地的主机上的镜像 [root@iz2zeak7sgj6i7hrb2g862z ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest bf756fb1ae65 4 months ago 13.3kB mysql 5.7 b84d68d0a7db 6 days ago 448MB # 解释 #REPOSITORY # 镜像的仓库源 #TAG # 镜像的标签(版本) ---lastest 表示最新版本 #IMAGE ID # 镜像的id #CREATED # 镜像的创建时间 #SIZE # 镜像的大小 # 可选项 Options: -a, --all Show all images (default hides intermediate images) #列出所有镜像 -q, --quiet Only show numeric IDs # 只显示镜像的id [root@iz2zeak7sgj6i7hrb2g862z ~]# docker images -a #列出所有镜像详细信息 [root@iz2zeak7sgj6i7hrb2g862z ~]# docker images -aq #列出所有镜像的id d5f28a0bb0d0 f19c56ce92a8 1b6b1fe7261e 1b6b1fe7261e 2. docker search 搜索镜像

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsxyyx.html