1.解决docker 容器内访问宿主机“No route to host”的问题,在搭建redis主从哨兵时

 

nmcli connection modify docker0 connection.zone trusted

 

systemctl stop NetworkManager.service

firewall-cmd --permanent --zone=trusted --change-interface=docker0

systemctl start NetworkManager.service

nmcli connection modify docker0 connection.zone trusted

systemctl restart docker.service

 

docker容器间相互通信:

docker network create wp-net

docker run -d -p 3306:3306 --name wp-mysql --network wp-net --network-alias mysql -e MYSQL_ROOT_PASSWORD=123 mysql

 

说明:

docker run:启动容器

-d:后台运行

-p 3306:3306:将容器的3306端口映射到宿主机的3306端口上

--name wp-mysql:指定容器的名称为wp-mysql

--network wp-net:将容器加入到wp-net网络中

--network-alias mysql:指定容器在wp-net网络中的别名是mysql

-e MYSQL_ROOT_PASSWORD=123:初始化数据库root用户的密码为123

 

防火墙

启动: systemctl start firewalld

关闭: systemctl stop firewalld

查看状态: systemctl status firewalld 

开机禁用   systemctl disable firewalld

开机启用   systemctl enable firewalld

 

docker run -p 6380:6380 -v /data/redis_data/redis2:/data --network my_net --name redis-6380 -d redis redis-server redis.conf

docker run -p 6379:6379 -v /data/redis_data/redis1:/data --network my_net --name redis-6379 -d redis redis-server redis.conf

docker run -p 6381:6381 -v /data/redis_data/redis3:/data --network my_net --name redis-6381 -d redis redis-server redis.conf

 

docker run -p 26379:26379 -v /data/redis_data/redis1:/data -network my_net --name redis-26379 -d redis redis-sentinel sentinel.conf

docker run -p 26380:26380 -v /data/redis_data/redis2:/data -network my_net --name redis-26380 -d redis redis-sentinel sentinel.conf

 

docker run -p 26381:26381 -v /data/redis_data/redis3:/data -network my_net --name redis-26381 -d redis redis-sentinel sentinel.conf

posted on 2020-01-17 14:58  不负前行  阅读(359)  评论(0编辑  收藏  举报