在使用nacos的过程中,在本地虚拟中通过docker容器运行成功,但是本地却访问不了,最后发现是对应的服务端口没有放开,导致连接建立不起来。

 

下面记录一下命令:

1. 查看端口是否方法

[root@localhost ~]# firewall-cmd --query-port=8848/tcp
no

2. 放开端口

[root@localhost ~]# firewall-cmd --add-port=8848/tcp --permanent
success

# 如需移除放开的端口
firewall-cmd --permanent --remove-port=8848/tcp

3. 重新载入添加的端口

[root@localhost ~]# firewall-cmd --reload
success

4. 确认配置是否生效

[root@localhost ~]# firewall-cmd --query-port=8848/tcp
yes

如此设置之后还是访问不了,遂直接使用以下命令关闭防火墙,还是不行;

防火墙状态相关命令:

# 查看防火墙运行状态
[root@localhost ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since 日 2022-11-06 21:11:48 CST; 3 months 7 days ago
     Docs: man:firewalld(1)
 Main PID: 1076 (firewalld)
    Tasks: 2
   Memory: 8.9M
   CGroup: /system.slice/firewalld.service
           └─1076 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid


# 关闭防火墙
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# systemctl stop firewalld

最后想到重启nacos容器,但是删除之后重新运行时候遇到以下iptables错误(iptables: No chain/target/match by that name.):

[root@localhost ~]# docker run -itd -p 8848:8848 \
> --name nacos \
> --network mysql-network \
> --ip 172.0.0.28 \
> --env MODE=standalone \
> --env SPRING_DATASOURCE_PLATFORM=mysql \
> --env MYSQL_SERVICE_HOST=172.0.0.5 \
> --env MYSQL_SERVICE_PORT=3306 \
> --env MYSQL_SERVICE_DB_NAME=nacos \
> --env MYSQL_SERVICE_USER=nacos \
> --env MYSQL_SERVICE_PASSWORD=nacos \
> nacos/nacos-server:latest
cf2a10f1fdff2fdd937c90da936411eebf91e4a6290edfbac6075b5e9815fcf5
docker: Error response from daemon: driver failed programming external connectivity on endpoint nacos (16d40001093cf27162dcc2440391a243989d532b356ddfc6b1e1e8aee66d0195):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 8848 -j DNAT --to-destination 172.0.0.28:8848 ! -i br-c9eca8333ecc: iptables: No chain/target/match by that name.
 (exit status 1)).

最后通过重启docker,重新运行nacos访问成功。

[root@localhost ~]# systemctl restart docker
[root@localhost ~]# docker rm -f nacos
nacos
[root@localhost ~]# docker run -itd -p 8848:8848 \
> --name nacos \
> --network mysql-network \
> --ip 172.0.0.28 \
> --env MODE=standalone \
> --env SPRING_DATASOURCE_PLATFORM=mysql \
> --env MYSQL_SERVICE_HOST=172.0.0.5 \
> --env MYSQL_SERVICE_PORT=3306 \
> --env MYSQL_SERVICE_DB_NAME=nacos \
> --env MYSQL_SERVICE_USER=nacos \
> --env MYSQL_SERVICE_PASSWORD=nacos \
> nacos/nacos-server:latest
effdf773e7de12d868d8518c4f347728f723f49c1136f781ba9c6488d97533c7

GitHub 加速计划 / na / nacos
168
24
下载
Nacos是由阿里巴巴开源的服务治理中间件,集成了动态服务发现、配置管理和服务元数据管理功能,广泛应用于微服务架构中,简化服务治理过程。
最近提交(Master分支:7 个月前 )
502b08bd 29 天前
12c455b8 * fix:change upload-artifact version to v4 * fix:change github-script version to v7 * fix:change github-script version to v6 * fix:change github-script version to v6 * fix:change github-script version to v6 * fix:delete proxy 1 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐