天天在捣鼓Docker,你是否真正的把握住了?

简介: 📢Docker本身并不是容器,它是创建容器的工具,是应用容器引擎。

📢Docker本身并不是容器,它是创建容器的工具,是应用容器引擎。


📢想要搞懂Docker,两句口号就行。

第一句是“Build, Ship and Run”(搭建、发送、运行,三板斧)

第二句是“Build once,Run anywhere”(搭建一次,到处能用)

1️⃣💭虚拟机和Docker的对比

  • 虚拟机属于虚拟化技术,Docker这样的容器技术。
  • 虚拟机虽然可以隔离出很多“子电脑”,但占用空间更大,启动更慢,虚拟机软件可能还要花钱(例如VMWare)。而容器技术恰好没有这些缺点,它不需要虚拟出整个操作系统,只需要虚拟一个小规模的环境(类似“沙箱”)。

image.png

image.png

2️⃣💬Docker组件

  • 客户端、宿主机、仓库
  • images、Container、Registry

image.png

Image

image是分层的,并且每一层都可以添加改变删除文件,成为一个新的image。不同的image可以共享相同的layer。image本身是read-only的。

image.png

Container

Container由image创建,并在image layer上创建一可读写的Container layer(R/W层)。Writeble Container层的读写操作仅是记录,并不会对下面的read-only Image产生影响。

image.png

Registry

仓库,用于存放镜像的地方(分为公有和私有仓库)。可以直接使用docker pull命令将仓库中的镜像拉到本地,默认的仓库Docker的官方仓库Docker Hub Registry。

3️⃣🎈Docker命令总览

能把下面两幅图上的命令全都看懂并且会操作说明都把握住了😚

image.png

image.png

4️⃣🍉DockerFile命令

DockerFile构建属于自己的最完美的镜像

image.png

image.png

官方的Centos7为例

FROM scratch
ADD centos-7-x86_64-docker.tar.xz /
LABEL \
    org.label-schema.schema-version="1.0" \
    org.label-schema.name="CentOS Base Image" \
    org.label-schema.vendor="CentOS" \
    org.label-schema.license="GPLv2" \
    org.label-schema.build-date="20201113" \
    org.opencontainers.image.title="CentOS Base Image" \
    org.opencontainers.image.vendor="CentOS" \
    org.opencontainers.image.licenses="GPL-2.0-only" \
    org.opencontainers.image.created="2020-11-13 00:00:00+00:00"
CMD ["/bin/bash"]

📢下一篇文章带兄弟们一起学习Docker更深层的东西,看看年薪20W的工程师是怎样用的。

📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

📢未来很长,值得我们全力奔赴更美好的生活✨


相关文章
|
运维 Kubernetes Cloud Native
【k8s 系列】k8s 学习三,docker回顾,k8s 起航
【k8s 系列】k8s 学习三,docker回顾,k8s 起航
112 2
|
JSON 应用服务中间件 数据库
docker积累
docker积累
|
存储 安全 前端开发
Docker的七项优秀实践
Docker的七项优秀实践
190 0
|
Kubernetes Linux Go
docker 与 podman 的故事:一个方兴未艾,一个异军突起
podman 虽然与 docker 有替代关系,但是在“弃用 docker”事件中,podman 并非是主角。Kubernetes 所进行的“弃用 docker”的主角是 CRI 的其他实现方式,而由 RedHat 推出的 podman 则更加前沿。在现实的应用中,docker 方兴未艾,podman 却已经异军突起。
319 1
docker 与 podman 的故事:一个方兴未艾,一个异军突起
|
网络协议 安全 Java
《菜农升职记》之 Docker网络
本文主要介绍 docker 网络
144 0
|
Ubuntu Linux API
Docker架构都不知道?这不很尴尬吗
Docker架构都不知道?这不很尴尬吗
202 0
Docker架构都不知道?这不很尴尬吗
|
运维 程序员 Linux
Docker 系列 _ 01_ 一念缘起
人们只有在经历过诸多痛苦之后,才会相信这“缘分”的存在。
123 0
Docker 系列 _ 01_ 一念缘起
|
运维 Ubuntu Devops
Docker都不知道!小了,是我格局小了!
1️⃣容器与传统虚拟技术的比较 1.传统虚拟技术需要为了一个功能,在底层却需要运行整个OS,对资源的浪费比较大。 2.容器技术没有OS部分,只带有程序运行的环境,可以理解为轻量的虚拟化技术。 3.图示比较:
150 0
Docker都不知道!小了,是我格局小了!
|
存储 Ubuntu 关系型数据库
一些docker的技巧和秘诀
关于docker容器和镜像的关系 无论容器里做什么操作,写文件,删文件。该容器的基本镜像都不会有任何改变。这是因为Docker从父镜像建立增量镜像,只存储每个容器的更改。因此,如果你有一个300MB的父镜像,如果你在容器中安装了50MB的额外应用或服务,你的容器只有50MB,父镜像还是300MB。 但是可以使用Dockfile或commit命令来,把增量镜像和父镜像一起生成一个新的镜像。 dock top -- 显示容器中运行的进程 查看容器的root用户名和密码 docker logs <容器名orID> 2>&1 | grep '^User: ' | tail -n1 因为docker
173 0
|
Linux 持续交付 开发者
(一)docker 认知
1、为什么Docker有价值为什么Docker这么有价值?在回答这个问题之前,我们先想一个相似的问题,为什么阿里巴巴这么有价值? 传统的商业存在两大弊端:一是买卖双方相对分散,加大了需求收集、营销、运输的成本;二是买卖双方信息不对称,对交易产生了抑制作用。
1249 0