docker容器之間的訪問

2021-09-22 02:17:52 字數 966 閱讀 2463

乙個簡單的python web應用,需要訪問redis,web應用與redis應用在不同的容器中,下面實現兩個容器的訪問。

from flask import flask

from redis import redis

import os

import socket

dockerfile

2、啟動redis

執行:docker run -d --name redis redis

通過docker ps檢視容器是否啟動成功

3、建立python應用映象

執行:docker build -t flask-redis-demo .

啟動flask應用:docker run -d --link redis --name flask-redis -e redis_host=redis flask-redis-demo

檢視容器是否啟動成功

4、訪問redis

進入flask容器:docker exec -it flask-redis /bin/bash

雖然在容器內可以訪問redis,但是在本地卻無法訪問,這時要將python應用的容器埠做乙個對映。

5、埠對映

停止web應用:docker stop flask-redis

刪除flask-redis:docker rm flask-redis

重新執行命令,增加-p引數:docker run -d -p 5000:5000 --link redis --name flask-redis -e redis_host=redis flask-redis-demo

這時就可在本地訪問了:

Docker 容器之間的通訊

預設情況容器和主機之間的網路通訊是封閉的,如果要讓容器能夠被外部網路訪問,需要在啟動容器的時候指定要開放的埠,這樣我們就能通過主機的網路訪問容器內提供的的服務了.我們在容器中執行了乙個web伺服器,使用者需要訪問這個容器內的資源,這裡為了方便,直接使用官方手冊裡的示例 1 命令列分解 本文把dock...

Docker容器之間互訪

準備部署基於springboot nacos redis mysql程式,每個元件都分別放到指定容器中,此時就遇到了乙個問題,那就是容器之間怎麼才能互相訪問?下面介紹一下容器互訪的解決方式。本文使用的centos是自定義的centos映象,可以直接在容器中使用vim,ifconfig命令,該映象對應...

docker宿主機訪問docker容器服務失敗

原因 因為docker的虛擬ip網段是172.17.與區域網的ip網段172.17衝突了,所以有兩種方式 解決方法 一 修改docker網絡卡資訊,將網段改為與區域網不同的即可 linux修改方法 第一步 刪除原有配置 sudo service docker stop sudo ip link se...