一、Docker的 C/S模式
Docker的 C/S模式--Remote API
RESTful风格API
STDIN、STDOUT、STDERR
Docker官方的Remote API Reference
https://docs.docker.com/reference/api/docker_remote_api/
Docker的 C/S模式--三种连接方式
unix:///var/run/docker.sock
tcp://host:port
fd://socketfd
举例:
ps -ef | grep docker
docker version
nc命令实现socket的连接
nc -U /var/run/docker.sock
使用socket发出http指令
GET /info HTTP/1.1
二、Docker守护进程的配置和操作
查看守护进程
ps -ef | grep docker
sudo status docker
使用service命令管理
sudo service docker start
sudo service docker stop
sudo service docker restart
Docker的启动选项
docker -d [OPTIONS],以守护形式启动docker
启动选项和说明见docker的说明文档
https://docs.docker.com.reference.commandline.cli
启动配置文件
/etc/default/docker
举例:
sudo vim /etc/default/docker
配置文件中添加配置:DOCKER_OPTS=" lable name=docker_server_1"
service docker restart
ps -ef | grep docker
docker info
三、Docker的远程访问
环境准备
第二台安装Docker的服务器
修改Docker守护进程启动选项,区别服务器
保证Client API与Server API版本一致
配置第二台Docker服务器
sudo vim /etc/default/docker
配置文件中添加配置:DOCKER_OPTS=" lable name=docker_server_2"
service docker restart
ps -ef | grep docker
docker info
修改服务端配置
修改Docker守护进程启动选项
-H tcp://host:port
unix:///path/to/socket
fd://* or fd://socketfd
守护进程默认配置
-H unix:///var/run/docker.sock
修改docker_server_1配置文件
DOCKER_OPTS=" lable name=docker_server_1 -H tcp://0.0.0.0:2375 "
service docker restart,重启docker
docker -ps | grep docker,查看配置是否生效
ifconfig,查看ip地址
使用docker_server_2访问docker_server_1
curl http://ip:port/info
客户端远程访问
docker -H tcp://ip:port info
使远程访问变的简单容易
使用环境变量DOCKER_HOST
export DOCKER_HOST="tcp://host:port"
连接远程
export DOCKER_HOST="tcp://host:port"
docker info
回到本机
export DOCKER_HOST=""
docker info
Docker设置成远程模式时,使用docker命令会显示docker守护进程不支持当前连接。如果要远程和本机都可用,可以进行如下配置:
DOCKER_OPTS=" lable name=docker_server_1 -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock "