引言
这一篇文章,理论和实践各占一半,有需要的可以先安装配置好两台虚拟机和Docker。
觉得写的可以不妨点个赞吧,收藏比赞高N倍,枯了 ~
文章导读
- Docker的C/S架构
- Docker容器的网络连接
- Docker容器的数据管理
一、Docker的C/S模式
Docker的C/S架构中,最重要的就是Docker Client和Docker Daemon。
1.1 Docker的C/S模式
Docker守护进程会在Docker启动后,在宿主机后台运行,负责处理docker的各种命令功能。用户并不是直接和守护进程交互,而是和Docker客户端交互。意思是我们输入的命令,通过命令行接口(/bin/bash这样二进制的程序),再传递给守护进程,守护进程再将命令执行后返回结果给客户端,显示于命令行接口。
docker客户端除了以命令的方式和守护进程通信,还可通过Remote API。
客户端与守护进程的连接方式
从整体上来看,用户通过命令行接口或应用程序(程序是对Remote API的封装)来对Docker Client进行访问,而这个客户端是以Socket的方式来对守护进程访问的。
Docker是以Socket的方式连接,有三种模式:
- unix://var/run/docker.sock(默认)
- tcp://host:port
- fd://socketfd
1.2 Docker守护进程的配置和操作
使用service命令管理
- service docker start
- service docker stop
- service docker restart
Docker的启动选项
docker -d [OPTIONS]
- 运行相关
-D,--debug:是否开启debug
-e, 运行时使用的驱动模式
-g ,指定docker写入文件的地址
--icc :指定容器之间是否可以互相连接
-l,--log-level:设置日志界别
-p,pidfile默认为"/var/run/docker.pid" - 服务器连接相关
-G,指定用户组,默认是"docker"
-H,按照上一节所讲的Socket连接模式来写
--tls=false 安全性相关选项
... ... - RemoteAPI相关
--api-enable-cors 是否使用RemoteAPI - 存储相关
-s:storage driver,设置驱动
--selinux-enable:是否开启selinux
... ... - Registry相关
--registry-mirror