0
点赞
收藏
分享

微信扫一扫

代码之玫瑰。C++

早安地球 2024-11-09 阅读 13

文章目录

一. 默认网络:docker0网络的问题

容器启动时,docker0会给容器分配一个ip,同一宿主机下其他容器可以通过此< ip:容器内部端口>,来访问此容器。

但是当容器重启时,ip就变化了,因为docker0不支持通过容器主机名来访问,所以再次访问时还需要手动查找,维护性很差,生产环境不可用。

相关知识:

 

二. 自定义网络

通过自定义网络:
创建自定义网络,容器名就是稳定域名。

# 创建自定义网络
docker network create gao

--network gao

 

三. nginx容器内部通讯

# 创建两个容器
docker run -d -p 8819:80 --name app-nginx-1 --network gao nginx 
docker run -d -p 8820:80 --name app-nginx-2 --network gao nginx 


# 进入到app-nginx-2 访问app-nginx-1的ngnix
docker exec -it app-nginx-2 bash 

root@9580927c07a8:/# curl http://app-nginx-1:80
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
。。。

四. redis集群容器(跳过宿主机)内部网络通讯

1. 集群描述

![[Pasted image 20241104151525.png]]

2. 基于bitnami镜像的环境变量快速构建redis集群

创建网络,以及redis主从集群

docker network create redis-net

docker run -d -p 6379:6379 \
-v /Users/lianggao/MyWorkSpace/001-360/002-docker-demo/redis/redis01:/bitnami/redis/data \
-e REDIS_REPLICATION_MODE=master \
-e REDIS_PASSWORD=123456 \
--network redis-net --name redis01 \
bitnami/redis


# slave配置master的信息,看到master主机名就是容器名
docker run -d -p 6380:6379 \
-v /Users/lianggao/MyWorkSpace/001-360/002-docker-demo/redis/redis02:/bitnami/redis/data \
-e REDIS_REPLICATION_MODE=slave \
-e REDIS_MASTER_HOST=redis01 \
-e REDIS_MASTER_PORT_NUMBER=6379 \
-e REDIS_MASTER_PASSWORD=123456 \
-e REDIS_PASSWORD=123456 \
--network redis-net --name redis02 \
bitnami/redis


 

客户端连接:
下载地址:https://github.com/qishibo/AnotherRedisDesktopManager

ip和地址配置宿主机的

测试:

 

举报

相关推荐

0 条评论