docker学习笔记05-TCP远程连接与docker compose简介

1.配置docker客户端远程访问

        A.在另一台机器上安装客户端

        远程访问,再搭建一台测试机,先安装包dockercli 客户端

yum install -y yum-utils
--或者用阿里源 快些
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum -y remove runc
--只安装客户端
sudo yum install docker-ce-cli 

       B.docker服务服务端开启访问端口

开启远程访问
vi /usr/lib/systemd/system/docker.service
找到 [Service] 节点,修改 ExecStart 属性,增加 -H tcp://0.0.0.0:2375
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375
这样相当于对外开放的是 2375 端口,当然也可以根据自己情况修改成其他的
重新加载配置
systemctl daemon-reload 
systemctl restart docker 

 

Docker的Client和Engine之间的通讯有一下几种方式

  • Unix Socket 这是类unix系统进程间通讯的一种方式,当Client操作本机的Engine是就是使用这种方式。缺省的socket文件是unix:///var/run/docker.sock
  • Systemd socket activation : 这是systemd提供的一种为了服务并行启动设计的socket,缺省值为fd:// 
  • TCP : 上面两种都是只能连接本地Engine,需要连接远程Engine,必须在服务端开始TCP连接。此连接为不安全连接,数据通过明文进行传输。缺省端口2375
  • TCP_TLS : 在TCP的基础之上加上了SSL的安全证书,以保证连接安全。缺省端口2376

  C.查看一下是否能访问端口

  浏览器输入格式为:http://ip:2375/version 测试一下

 这样就是端口开通成功了

        D. 在客户端上配置环境变量,实现远程访问

         这里就把这个变量写入环境变量文件中就行


vim /etc/profile

在文件末尾添加行export DOCKER_HOST=tcp://你自己的服务段ip:2375

source /etc/profile

              当然,这种tcp明文传输,不安全的

              切勿用于生产环境!自己学习用用就行了,如果直接把Docker这样对外暴露是非常危险

2.docker compose

        Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。

        A.安装docker compose

//compose安装
curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
//执行权限
chmod +x /usr/local/bin/docker-compose
//软连接
 ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
 //版本
 docker-compose version

        后面如何使用不看了,md,一个工具大概了解先,后续实际用的时候在看吧

        yml文件我又不会,哎,大致了解这个意思就行

        命令蛮多的