Docker – Hello world

这是我参与8月更文挑战的第25天,活动详情查看:8月更文挑战

Hello world

运行hello-world

$ sudo docker run hello-world
复制代码

Hello-World执行流程

# 没有找到镜像
Unable to find image 'hello-world:latest' locally
# 远程拉取镜像
latest: Pulling from library/hello-world
b8dfde127a29: Pull complete 
Digest: sha256:0fe98d7debd9049c50b597ef1f85b7c1e8cc81f59c8d623fcb2250e8bec85b38
Status: Downloaded newer image for hello-world:latest

# 说明docker已经安装成功
Hello from Docker!
This message shows that your installation appears to be working correctly.

...
复制代码

image.png

查看hello-world镜像

$ sudo docker images

REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
hello-world   latest    d1165f221234   5 months ago   13.3kB
复制代码

底层原理

Docker是什么工作?

Docker是一个ClientServer结构的系统,Docker的守护进程运行在主机上,通过socket从客户端访问!
DockerServer接收到DockerClient的指定,就会执行这个命令。

image.png

Docker为什么比VM快?

  1. Docker 有着比虚拟机更少的抽象层
  2. Docker 利用的是主机的内核,vm需要 Guest OS

image.png

image.png

所以说,新建一个容器的时候,docker不需要像虚拟机一样加载一个操作系统的内核,避免引导。虚拟机是加载Guest OS分钟级别的,而docker是利用宿主机的操作系统,省略了这个复杂的过程,秒级的。

Docker容器 VM
虚拟化类型 OS虚拟化 硬件虚拟化
性能 =物理机性能 5%-20% 的损耗
隔离性 NS隔离
Qos Cgroup
安全性
GuestOS 全部 全部

解决docker命令权限问题(sudo)可以使用,也可以不使用

# 创建docker组
$ sudo groupadd docker
# 将当前用户加入docker组
$ sudo gpasswd -a ${USER} docker
#重启docker服务
$ sudo service docker restart
#刷新docker组成员
$ newgrp - docker
复制代码

帮助命令

docker version       #  查看docker的版本信息
docker info          # 查看docker的系统信息,包括镜像和容器的数量
docker 命令 --help   # 帮助命令
复制代码

帮助文档的地址:docs.docker.com/reference/

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享