目录
一、docker概念
二、docker容器内操作命令
三、开启docker远程访问
一、docker概念
1.docker引擎
如图所示,
Docker
引擎是用来运行和管理容器的核心软件。通常人们会简单地将其代指为 Docker 或 Docker 平台。从多个角度来看,Docker 引擎就像汽车引擎——二者都是模块化的,并且由许多可交换的部件组成。汽车引擎由许多专用的部件协同工作,从而使汽车可以行驶,例如进气管、节气门、气缸、火花塞、排气管等。Docker 引擎由许多专用的工具协同工作,从而可以创建和运行容器,例如 API、执行驱动、运行时、shim 进程等。Docker 引擎由如下主要的组件构成:Docker 客户端(Docker Client)、Docker 守护进程(Docker daemon)、containerd 以及 runc。它们共同负责容器的创建和运行。
docker生态系统
(1)核心技术:Runtime(运行时)为容器运行提供底层的运行环境,Docker引擎支持容器管理,Docker Hub支持镜像的存储和发布。
(2)支持技术:包括Docker网络、存储、安全等技术。
(3)平台技术:Docker Swarm、Kubernetes等容器平台技术提供容器集群功能。
3.名称空间
(1)基于JSON格式的名称空间概念
名称空间又称命名空间,是对全局系统资源的一种封装隔离技术。
处于不同名称空间的进程拥有彼此独立的全局系统资源,改变一个名称空间中的系统资源只会影响当前名称空间中的进程,而不会影响其他名称空间中的进程。
(2)名称空间类型
Cgroup(控制组)
IPC(进程间通信)
Network(网络)
Mount(挂载)
PID(进程ID)
User(用户)
UTS(UNIX Time-sharing System)
(3)docker使用名称空间
PID名称空间——用于进程隔离
Network网络名称空间——用于管理网络接口
IPC名称空间——用于管理IPC资源的访问
Mount挂载名称空间——用于管理文件系统挂载点
UTS名称空间——用于隔离内核和版本标识符
User用户名称空间——每个容器可以有不同的用户和组ID
控制组概念:控制组是Linux内核提供的限制、审计、隔离进程组所使用的物理资源的一种机制。每个控制组就是一组按照某种标准划分的进程。
二、docker容器内操作命令
删除容器:docker rm -f 容器名称或者ID
[root@localhost ~]# docker rm -f 70
状态created:
docker create 创建一个容器,运行状态为Created创建状态
[root@localhost ~]# docker create nginx
up:
docker start 开启,输入命令后状态变为up
[root@localhost ~]# docker start 5b
docker restart 重启
[root@localhost ~]# docker restart 5b
Exited:
docker stop停止,输入命令后状态变为Exited
[root@localhost ~]# docker stop 5b
paused:
docker pause暂停,输入命令后进入暂停状态
[root@localhost ~]# docker pause 5b
查看容器详细信息:docker inspect 容器名称或者ID
[root@localhost ~]# docker inspect 5b
三、开启docker远程访问
首先进入docker.service文件中,该文件存储于/usr/lib/systemd/system/下
[root@localhost ~]# cd /usr/lib/systemd/system
[root@localhost system]# vim docker.service
更改配置文件添加红线中内容,最后端口号可自写
更改完后重启服务,查看端口
[root@localhost ~]# netstat -anptl | grep 5210
使用客户端访问测试
[root@client ~]# docker -H tcp://192.168.1.1:5210 info
得到反馈信息即可