【发布时间】:2021-10-07 02:34:52
【问题描述】:
我有文件夹 redis-docker
文件:docker-compose.yml
version: '3'
services:
redis:
image: redis:latest
ports:
- 6379:6379
volumes:
- ./config/redis.conf:/redis.conf
command: [ "redis-server", "/redis.conf" ]
文件:redis.conf
bind 0.0.0.0
我有文件夹 test-redis
文件:docker-compose.yml
version: '3'
services:
web:
build: .
volumes:
- .:/code
文件:Dockerfile
FROM amd64/python:3
WORKDIR /code
COPY . .
RUN pip install --no-cache-dir -r requirements.txt
ENV LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH"
EXPOSE 6379
CMD [ "python", "./test.py" ]
文件:requirements.txt
redis
文件:test.py
import redis
# connect to redis
client = redis.Redis(host=redis, port=6379)
# set a key
client.set('test-key', 'test-value')
# get a value
value = client.get('test-key')
print(value)
我执行了 2 个命令
docker-compose up
docker exec -it redis-docker_redis_1 redis-cli ping
结果像 Pic2
Redis 工作得很好,但此时我不知道如何“test-redis”连接并使用这个“redis-docker”。我花了超过 48 小时研究,但无济于事。我是 Docker 新手。请帮帮我
谢谢
【问题讨论】:
-
您必须使用 Redis 和 python 应用程序制作一个单一的撰写文件。否则,每个容器都有自己的个人网络Docker networking
-
我知道,但现在我想制作 2 个单独的容器
-
您可以拥有一个启动两个容器的
docker-compose.yml文件。这是一个非常正常的设置。