Docker操作系统理解

Posted jks212454

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker操作系统理解相关的知识,希望对你有一定的参考价值。

一、操作系统介绍

1.操作系统定义

操作系统(operating system,简称OS)是管理计算机硬件与软件资源的计算机程序。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。

2.操作系统理解

Linux操作系统=Linux内核+发行版(centos/ubuntu/suse)

3.内核作用

①系统的初始化:检测硬件资源并启动系统
②进程调度:决定进程什么时候运行及运行多久。
③内存管理:给运行的进程分配内存
④安全:支持权限,selinux和防火墙规则
⑤提供buffers和cache加速硬件访问
⑥支持标准网络协议和文件系统

4.容器操作系统

在这里插入图片描述

二、使用容器运行不同发行版的linux系统

1.下载容器镜像

[root@node1 ~]# docker pull ubuntu
Using default tag: latest
latest: Pulling from library/ubuntu
a31c7b29f4ad: Pull complete 
Digest: sha256:b3e2e47d016c08b3396b5ebe06ab0b711c34e7f37b98c9d37abe794b71cea0a2
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest
[root@node1 ~]# docker pull centos
Using default tag: latest
latest: Pulling from library/centos
7a0437f04f83: Pull complete 
Digest: sha256:5528e8b1b1719d34604c87e11dcd1c0a20bedf46e83b5632cdeac91b8c04efc1
Status: Downloaded newer image for centos:latest
docker.io/library/centos:latest
[root@node1 ~]# docker pull fedora
Using default tag: latest
latest: Pulling from library/fedora
b1495d80d526: Pull complete 
Digest: sha256:f534c437436eb44b7ac73646e642732fc055a75d84f900f07c3bbaa392007810
Status: Downloaded newer image for fedora:latest
docker.io/library/fedora:latest

2.查看下载好的本地容器镜像

[root@node1 ~]# docker image ls
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
ubuntu       latest    c29284518f49   7 days ago     72.8MB
nginx        latest    4cdc5dd7eaad   2 weeks ago    133MB
redis        latest    08502081bff6   3 weeks ago    105MB
fedora       latest    055b2e5ebc94   2 months ago   178MB
centos       latest    300e315adb2f   7 months ago   209MB
opensuse     latest    d9e50bf28896   2 years ago    111MB


3.进入不同操作系统的容器空间

- i 进行交互式命令操作
- t 开启一个终端
[root@node1 ~]# cat /etc/redhat-release 
Red Hat Enterprise Linux release 8.0 (Ootpa)
[root@node1 ~]# docker run -it ubuntu bash
root@c2e14edd678d:/# cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.2 LTS"
root@c2e14edd678d:/# exit
exit
[root@node1 ~]# docker run -it centos bash
[root@43d6bca30131 /]# cat /etc/redhat-release 
CentOS Linux release 8.3.2011
[root@43d6bca30131 /]# exit
exit
[root@node1 ~]# docker run -it fedora bash
[root@fd583c3fba25 /]# cat /etc/redhat-release 
Fedora release 34 (Thirty Four)
[root@fd583c3fba25 /]# exit
exit
[root@node1 ~]# docker run -it opensuse bash
5bb956ef369a:/ # cat /etc/SuSE-release 
openSUSE 42.3 (x86_64)
VERSION = 42.3
CODENAME = Malachite
# /etc/SuSE-release is deprecated and will be removed in the future, use /etc/os-release instead

731daf4ecc83:/ # cat /etc/hostname 
731daf4ecc83


三、检查运行的容器

[root@node1 ~]# docker container ls
CONTAINER ID   IMAGE     COMMAND                  CREATED             STATUS             PORTS                                                 NAMES
2db168499262   redis     "docker-entrypoint.s…"   5 seconds ago       Up 4 seconds       6379/tcp, 0.0.0.0:8021->8021/tcp, :::8021->8021/tcp   cool_ganguly
2716e3ec1417   nginx     "/docker-entrypoint.…"   About an hour ago   Up About an hour   0.0.0.0:80->80/tcp, :::80->80/tcp                     naughty_driscoll

四、学习小结

利用docker容器,可以下载获取不同的发行版镜像,然后运行不同的容器来使用。

以上是关于Docker操作系统理解的主要内容,如果未能解决你的问题,请参考以下文章

金蝶handler中 collection 代码片段理解

Docker删除报错:Error response from daemon: conflict: unable to delete 08b152afcfae (must be forced)(代码片段

调用模板化成员函数:帮助我理解另一个 *** 帖子中的代码片段

如何理解这段代码片段中的两对括号?

精心收集的 48 个 JavaScript 代码片段,仅需 30 秒就可理解

markdown [Docker] Docker片段列表和命令#linux #docker #snippets