docker基础学习(进入与退出docker容器--图文结合)

今天开始学习docker容器技术。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。所以容器技术是很重要的一门技术。

首先我们要在自己的系统中安装好docker。我在centOS7中安装了docker,具体步骤可以看这篇博客:https://blog.csdn.net/JJBOOM425/article/details/84584593

一、启动与关闭docker

  • 启动docker服务:(以下两个命令都可以启动docker服务)
service docker start
systemctl start docker

  • 关闭docker服务:
service docker stop
systemctl stop docker

二、启动docker中镜像(image)的容器

如果刚刚接触docker,可能还不了解docker的整体架构,为了后面的更好的理解,可以看一下下图的结构图:

docker基础学习(进入与退出docker容器--图文结合)_第1张图片

docker容器可以理解为在沙盒中运行的进程。这个沙盒包含了该进程运行所必须的资源,包括文件系统、系统类库、shell 环境等等。但这个沙盒默认是不会运行任何程序的。你需要在沙盒中运行一个进程来启动某一个容器。这个进程是该容器的唯一进程,所以当该进程结束的时候,容器也会完全的停止。

我们这里打开docker中的某个容器Container:

docker run -i -r unbuntu

使用docker run ... 来打开一个容器,这里的 -i 参数获取一个交互式的连接通过获取container的输入, -t 参数是进入这个容器的终端;ubuntu 是我们启动的镜像 image。后面我也通过 ls 看了此时的文件。其中 root@9cc6099a274f: 中9cc6099a274f是容器的内部 ID。

三、退出docker中镜像的容器

退出容器直接输入 exit 或者按  Ctrl+D  就可以退出容器。如下图:

拓展:

我们可以通过 docker images 看现在存在的镜像,如下图:

docker基础学习(进入与退出docker容器--图文结合)_第2张图片

可以看到这里存在的镜像,一个ubuntu镜像才86.2M,可能会问ubuntu系统怎么会这么小?

因为Linux 操作系统由内核空间和用户空间组成。如下图所示:

docker基础学习(进入与退出docker容器--图文结合)_第3张图片

内核空间是 kernelLinux 刚启动时会加载 bootfs 文件系统之后 bootfs 会被卸载掉。用户空间的文件系统是 rootfs包含我们熟悉的 /dev, /proc, /bin 等目录。对于 base 镜像来说底层直接用 Host 的 kernel自己只需要提供 rootfs 就行了。而对于一个精简的 OSrootfs 可以很小只需要包括最基本的命令、工具和程序库就可以了。

所以ubuntu镜像才会这么小,这也就是docker的优点。

你可能感兴趣的:(docker)