「这是我参与11月更文挑战的第28天,活动详情查看:2021最后一次更文挑战」。
根本报错信息:Failed to start firewalld.service: Unit is masked.(防火墙启动不了)
centos7介绍
使用背景:
1,CentOS7 默认的防火墙 不是iptables, 而是firewalle.
2,端口号使用需要单独放开来提供服务,如:8080,80等常用端口
系统、环境
问题起因:在idea集成docker,连接虚拟机路径测试时,出现以下连接异常提示信息。
解决过程:
发现问题一:查看防火墙状态: systemctl status firewalld,发现防火墙没有开启。
解决方案一:一般情况,开启防火墙后,问题就解决了,然而当开启防火墙时,发现防火墙也开启不了,开启防火墙命令:systemctl start firewalld
问题二:防火墙开启失败
解决方案二:systemctl unmask firewalld
问题可能是上次异常关闭,导致有残留的文件妨碍了防火墙的开启,需要清除原来的firewalld残留文件,然后就可以用systemctl start firewalld来启动防火墙了。
问题三:(可能没有设置端口号,一般为:2375)
解决方案三:
需要在dicker。service下设置docker的端口号,然后再开放端口号,最后需要重启防火墙就可以正常使用了。
设置端口号(vim /lib/systemd/system/docker.service)
重启防火墙(firewall-cmd –reload)
效果:
附加:接下来记录一下idea如何集成docke,一键打包部署微服务
所谓idea集成docker,首先就是先开启docker远程访问。
1、如何开启docker远程访问?
1、
修改该Docker服务文件
1)进入:docker.service —命令:vi /lib/systemd/system/docker.service
2) 修改:ExecStart这行 ,开启远程访问路径权限—
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
默认是:(ExecStart=/usr/bin/dockerd -H fd:// –containerd=/run/containerd/containerd.sock)
2、
重新开启,确认。
#重新加载配置文件
systemctl daemon-reload
#重启服务
systemctl restart docker.service
#查看端口是否开启
netstat -nlpt #如果找不到netstat命令,可进行安装:yum install net-tools
#直接curl看是否生效
curl http://127.0.0.1:2375/info
2、IDEA安装Docker插件
打开Idea,从File->Settings->Plugins->Install JetBrains plugin进入插件安装界面,点击install安装,安装后重启Idea。
3、IDEA配置Docker
从File->Settings->Build,Execution,Deployment->Docker打开配置界面,即上文出现问题的情况,解决后的效果。
配置docker,连接到远程docker服务。
4、docker-maven-plugin
docker-maven-plugin 插件就是为了帮助我们在Maven工程中,通过简单的配置,自动生成镜像并推送到仓库中。在pom.xml中进行配置
1 | xml复制代码<properties> |
完成以上操作,就可以之间用maven打包,启动镜像,开启容器。进行docker操作了。
本文转载自: 掘金