????????远程访问,再搭建一台测试机,先安装包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
开启远程访问
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 测试一下
?这样就是端口开通成功了
? ? ? ? ?这里就把这个变量写入环境变量文件中就行
vim /etc/profile
在文件末尾添加行export DOCKER_HOST=tcp://你自己的服务段ip:2375
source /etc/profile
? ? ? ? ? ? ? 当然,这种tcp明文传输,不安全的,
? ? ? ? ? ? ??切勿用于生产环境!自己学习用用就行了,如果直接把Docker这样对外暴露是非常危险
????????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文件我又不会,哎,大致了解这个意思就行
? ? ? ? 命令蛮多的