对shipyard打开后显示没有容器和镜像的思考和解决-设置wubantu静态ip-修改shipyard容器的ip和端口

简介: 对shipyard打开后显示没有容器和镜像的思考和解决-设置wubantu静态ip-修改shipyard容器的ip和端口

一、环境

(1)虚拟机使用VMware Workstation 14 player

(2)wubantu系统16.4版本

二、问题

当我第一次拉取shipyard相关镜像,然后构建容器后,打开shipyard显示了本地安装的镜像,然后下一次打开,就显示不出来了。后来认为wubantu的ip因为网络变化改了,与构建shipyard时的ip不一致,导致其打开后无法显示。

三、设置wubantu静态ip

修改wubantu的ip,为其设置为静态ip,这样更换网络后,wubantu的ip也不会变化了,在这个也发现了许多的坑,查阅了许多才解决。

1、在root权限下输入下面命令:

vi /etc/network/interfaces

2、输入如下内容:

image.png

3、上面内容不同机器是不一样的,不然xshell会连接不上,或者ping不成功等问题。


(1)ens33需要在虚拟机上输入ifconfig查看的,有的可能是ens0等等。

(2)gateway的地址不能随便输入,需要查询宿主机,在命令行输入ipconfig,看这个Vmnet8的地址

(3)address的地址是静态ip地址,与gateway前三位一致,最后一位随便设置,与ipconfig中显示的以太网适配器不一致就可以了。

(4)dns-nameservers这一项必须有,地址可以选择合适的公共DNS

image.png

4、做如下虚拟机设置

image.png

5、重启服务

(1)要是wubantu桌面版还需要重启虚拟机

sudo /etc/init.d/networking restart

6、这样静态ip就设置好了。

四、操作shipyard

1、在没有修改wubantu为静态ip之前,我是这样安装shipyard和构建的

(1)拉取Shipyard相关镜像,下面代码在虚拟机里一行一行执行。

docker pull shipyard/shipyard
docker pull swarm
docker pull shipyard/docker-proxy
docker pull alpine
docker pull microbox/etcd
docker pull rethinkdb

(2)构建Shipyard容器,第四个命令和第五个命令中的192.168.137.100是在虚拟机中查询ifconfig后ens33的地址,也就是wubantu系统的ip地址。一条一条执行。

docker run -ti -d --restart=always --name shipyard-rethinkdb rethinkdb
docker run -ti -d -p 4001:4001 -p 7001:7001 --restart=always --name shipyard-discovery microbox/etcd:latest -name discovery
docker run -ti -d -p 2375:2375 --hostname=$HOSTNAME --restart=always  --name  shipyard-proxy  -v /var/run/docker.sock:/var/run/docker.sock  -e  PORT=2375 shipyard/docker-proxy:latest
docker run -ti -d --restart=always --name shipyard-swarm-manager swarm:latest  manage  --host  tcp://0.0.0.0:3375  etcd://192.168.137.100:4001
docker run -ti -d --restart=always --name shipyard-swarm-agent swarm:latest join --addr 192.168.137.100:2375 etcd://192.168.137.100:4001
docker run -ti -d --restart=always --name shipyard-controller --link shipyard-rethinkdb:rethinkdb --link shipyard-swarm-manager:swarm -p 8080:8080 shipyard/shipyard:latest server -d tcp://swarm:3375

2、由于之前wubantu的ip更换网络后变了,而构建shipyard容器时的ip还是以前的ip,所以无法显示本地镜像和容器。现在修改成了静态ip,怎么更改为静态ip,我想了好久,最后提供了两种方法。


(1)一种是将shipyard容器删除,重新执行上一步的第(2)个,重新构建shipyard。


(2)另一种找到shipyard容器的配置文件更改ip。


3、在虚拟机中执行删除shipyard镜像命令,一条一条执行。没有成功,说明没有装,因为是自定义安装的,不用管,接着执行下一条。这一步完成后,重新执行上一步的第(2)个,重新构建shipyard就行了。

docker rm -f shipyard-controller
docker rm -f shipyard-rethinkdb
docker rm -f  shipyard-swarm-agent
docker rm -f shipyard-swarm-manager
docker rm -f shipyard-proxy
docker rm -f shipyard-certs
docker rm -f shipyard-discovery
docker rm -f shipyard-rethinkdb

五、更改shipyard容器的ip或者端口

1、输入下面命令查看容器信息。

docker ps -a

(1)获取我们要修改的容器id简称

image.png

2、查看容器id的全称

(1)555df3935c98为上面查询到的我们想要修改的id

docker inspect 555df3935c98 |grep Id

image.png

3、进入该容器配置文件所在文件夹

cd /var/lib/docker/containers/555df3935c98240bbd51756c3fc6faf84b2df185b42635f8fa3e44371e708914

image.png

4、查看所有文件

image.png

5、找到config.v2.json文件打开,把ip修改为wubantu目前设置的静态的ip,主要找addr和etcd后面会有,改了就行了。

image.png

6、把其他需要修改的容器重新执行以上步骤就好了。

六、结果展示

重新打开shipyard后,界面上就有了本地的容器,如图

image.png

目录
相关文章
|
域名解析 API PHP
VM虚拟机全版本网盘+免费本地网络穿透端口映射实时同步动态家庭IP教程
本文介绍了如何通过网络穿透技术让公网直接访问家庭电脑,充分发挥本地硬件性能。相比第三方服务受限于转发带宽,此方法利用自家宽带实现更高效率。文章详细讲解了端口映射教程,包括不同网络环境(仅光猫、光猫+路由器)下的设置步骤,并提供实时同步动态IP的两种方案:自建服务器或使用三方API接口。最后附上VM虚拟机全版本下载链接,便于用户在穿透后将服务运行于虚拟环境中,提升安全性与适用性。
1208 7
|
监控 安全 网络虚拟化
|
运维 网络安全
解决ssh: connect to host IP port 22: Connection timed out报错(scp传文件指定端口)
通过这些步骤和方法,您可以有效解决“ssh: connect to host IP port 22: Connection timed out”问题,并顺利使用 `scp`命令传输文件。
16905 7
|
网络协议 Ubuntu Linux
解决ssh: connect to host IP port 22: Connection timed out报错(scp传文件指定端口)
解决 `ssh: connect to host IP port 22: Connection timed out` 报错涉及检查 SSH 服务状态、防火墙配置、网络连通性和主机名解析等多个方面。通过逐步排查上述问题,并在 `scp` 命令中正确指定端口,可以有效解决连接超时的问题,确保文件传输的顺利进行。希望本文提供的解决方案能帮助您快速定位并解决该错误。
4314 3
|
运维 安全 网络协议
Python 网络编程:端口检测与IP解析
本文介绍了使用Python进行网络编程的两个重要技能:检查端口状态和根据IP地址解析主机名。通过`socket`库实现端口扫描和主机名解析的功能,并提供了详细的示例代码。文章最后还展示了如何整合这两部分代码,实现一个简单的命令行端口扫描器,适用于网络故障排查和安全审计。
529 0
|
SQL Apache Windows
Windows服务器80端口被占用的全面解决方案
在服务管理器中启动apache2服务,即可正常使用80端口。若系统中还安装了其他微软产品如sql等,也可尝试停止其服务进行测试,但请注意,SQL通常不会使用80端口,因此一般不会受到影响。以上就是关于80端口被system占用的详细解决方法,希望对你有所帮助。
|
网络协议 安全 应用服务中间件
云服务器怎么开启被关闭的端口?手把手教你开启端口
在使用云服务器时,若发现某些服务无法访问,可能是端口被关闭。本文介绍了端口关闭的原因、检查方法及开启步骤。原因包括初始设置限制、防火墙规则和外部网络策略;可通过netstat或ss命令检查端口状态,用ufw、iptables或firewalld调整防火墙规则。最后提供了解决常见问题的建议,确保端口正常开放并可供外网访问。
2574 9
|
10月前
|
网络协议
端口最多只有65535个,为什么服务器能承受百万并发
服务器通过四元组(源IP、源端口、目标IP、目标端口)识别不同TCP连接,每条连接对应独立socket。数据包携带四元组信息,服务端据此查找对应socket进行通信。只要四元组任一元素不同,即视为新连接,可创建独立socket。资源充足时,单进程可支持百万级并发连接,socket与端口非一一对应。
670 10
端口最多只有65535个,为什么服务器能承受百万并发
|
弹性计算 应用服务中间件 Linux
阿里云服务器开放端口完整图文教程
笔者近期开发完成的服务端程序部署在阿里云的ECS云服务器上面,一些应用程序配置文件需要设置监听的端口(如Tomcat的8080、443端口等),虽然通过CentOs 7系统的的「防火墙」开放了对应的端口号,任然无法访问端口号对应的应用程序,后面了解到原来还需要设置云服务器的「安全组规则」,开放相应的端口权限,服务端的接口才能真正开放。
4889 1
阿里云服务器开放端口完整图文教程