仓库就是存放镜像的地方!
仓库分为公有仓库和私有仓库。(很类似git)
Docker Hub是国外的。
阿里云…都有容器服务器(配置镜像加速!)
环境准备
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/
卸载与安装
卸载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流程docker run 流程图
1.7 底层原理Docker是怎么工作的?
Docker是一个Client-Server结构的系统,Docker的守护进程运行在主机上。通过Socket从客户端访问!
Docker-Server接收到Docker-Client的指令,就会执行这个命令!
为什么Docker比Vm快
1、docker有着比虚拟机更少的抽象层。由于docker不需要Hypervisor实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源。因此在CPU、内存利用率上docker将会在效率上有明显优势。
2、docker利用的是宿主机的内核,而不需要Guest OS。
因此,当新建一个 容器时,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 搜索镜像