多服务器上的 docker 实现互相访问

场景:

  • Server_1上有一个docker容器 containerX
  • Server_2上有一个docker容器 containerX
  • Server_n上有一个docker容器 containerX

如何实现着 n 个docker之间的互相访问呢?

实现方式:

Step1:配置一个通用的容器

新建一个容器,在容器中做以下配置:

  • 确保已经安装,如果没有安装,则: sshsudo apt-get install openssh-server
  • 确保 ssh 开机启动,.bashrc 中添加 service ssh start。执行 source .bashrc
  • sshd配置(用于接受其它容器的链接):
$ vim /etc/ssh/sshd_config    # 修改 ssh 守护配置
	<<LongComment
  		###需要在文件末尾添加以下内容
  		port=2478  ##这个端口号不要跟本服务器其它Docker容器端口号重复!
  		PermitRootLogin yes 
  		PubkeyAuthentication yes 
  		PasswordAuthentication yes 
	LongComment
  • ssh配置(用于链接其它容器)
$ vim /etc/ssh/ssh_config 
	<<LongComment
  		###需要在文件末尾添加以下内容
  		port=2478  ##将端口号修改为想要连接的服务器容器端口号
	LongComment
  • 设置ssh公钥,免密登录 $ ssh-keygen -t rsa -C "multi-node"
    将生成的公钥内容 ~/.ssh/id_rsa.pub拷贝到 ~/.ssh/authorized_keys
Step2:将这个通用的容器(设为cont_g)导出为 tar 文件,拷贝到所有n个server上

docker export cont_g > cont_g.tar

Step3:将cont_g.tar导入为 image

docker import cont_g.tar container:generel

Step4:在所有的server上从image构建各自的容器

Server_1:Server_n 上的操作相同:
docker run -it --name containerX--network=host --ipc=host --privileged container:generel /bin/bash

最后,通过 ssh Server_x(x∈[1,n])就可以实现n个容器之间的互相访问了

相关推荐

  1. 服务器 docker 实现互相访问

    2024-04-24 13:00:04       16 阅读
  2. 访问服务器 Jupyter Notebook

    2024-04-24 13:00:04       26 阅读
  3. 运行在个端系统程序是如何互相通信

    2024-04-24 13:00:04       37 阅读
  4. 局域网(校园网)内服务之间通过ssh -L互相访问

    2024-04-24 13:00:04       32 阅读
  5. 本地远程访问Linux服务器jupyter notebook

    2024-04-24 13:00:04       15 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-24 13:00:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-24 13:00:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-24 13:00:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-24 13:00:04       18 阅读

热门阅读

  1. React vs React Native写法上的不同

    2024-04-24 13:00:04       14 阅读
  2. 20240423-线程基础

    2024-04-24 13:00:04       13 阅读
  3. C++orm使用插曲——MySQL保留字

    2024-04-24 13:00:04       16 阅读
  4. 如何在 Docker 和 DigitalOcean Kubernetes 上部署 Kafka

    2024-04-24 13:00:04       10 阅读
  5. 深入理解Kubernetes:kube-scheduler源码解析

    2024-04-24 13:00:04       13 阅读
  6. DNS 服务器不同类型有什么作用?

    2024-04-24 13:00:04       15 阅读
  7. 项目开发的详细步骤(精华版)

    2024-04-24 13:00:04       12 阅读
  8. FlinkSQL State的生命周期

    2024-04-24 13:00:04       11 阅读