I use Actix and Redis with Docker Compose.
Here is docker-compose.yaml
:
version: "3.9"
services:
web:
image: actixblog
ports:
- "8080:8080"
depends_on:
redis_server:
condition: service_started
networks:
- redis-net
redis_server:
image: redis:7.0.4
networks:
- redis-net
networks:
redis-net:
I use a .env
file on runtime, it gets copied on Docker image I have built. The environment variable is this:
REDIS_URL="redis://redis_server:6379"
However, I get this error while logging continuously:
web_1 | [2022-09-19][22:54:15][actixblog::db][DEBUG] Creating connection manager for redis...
web_1 | [2022-09-19][22:54:15][mio::poll][TRACE] registering event source with poller: token=Token(1), interests=READABLE | WRITABLE
web_1 | [2022-09-19][22:54:15][actix_server::builder][INFO] Starting 4 workers
web_1 | [2022-09-19][22:54:15][actix_server::server][INFO] Actix runtime found; starting in Actix runtime
web_1 | [2022-09-19][22:54:15][actix_server::worker][TRACE] starting server worker 0
web_1 | [2022-09-19][22:54:15][mio::poll][TRACE] registering event source with poller: token=Token(0), interests=READABLE | WRITABLE
web_1 | [2022-09-19][22:54:15][actix_server::worker][TRACE] starting server worker 1
web_1 | [2022-09-19][22:54:15][actix_tls::connect::resolver][TRACE] DNS resolver: resolving host "redis"
web_1 | [2022-09-19][22:54:15][actix_server::worker][TRACE] Service "actix-web-service-127.0.0.1:8080" is available
web_1 | [2022-09-19][22:54:15][mio::poll][TRACE] registering event source with poller: token=Token(0), interests=READABLE | WRITABLE
web_1 | [2022-09-19][22:54:15][actix_tls::connect::resolver][TRACE] DNS resolver: resolving host "redis"
web_1 | [2022-09-19][22:54:15][actix_server::worker][TRACE] starting server worker 2
web_1 | [2022-09-19][22:54:15][actix_server::worker][TRACE] Service "actix-web-service-127.0.0.1:8080" is available
web_1 | [2022-09-19][22:54:15][mio::poll][TRACE] registering event source with poller: token=Token(0), interests=READABLE | WRITABLE
web_1 | [2022-09-19][22:54:15][actix_tls::connect::resolver][TRACE] DNS resolver: resolving host "redis"
web_1 | [2022-09-19][22:54:15][actix_server::worker][TRACE] starting server worker 3
web_1 | [2022-09-19][22:54:15][actix_server::worker][TRACE] Service "actix-web-service-127.0.0.1:8080" is available
web_1 | [2022-09-19][22:54:15][mio::poll][TRACE] registering event source with poller: token=Token(0), interests=READABLE | WRITABLE
web_1 | [2022-09-19][22:54:15][actix_tls::connect::resolver][TRACE] DNS resolver: resolving host "redis"
web_1 | [2022-09-19][22:54:15][mio::poll][TRACE] registering event source with poller: token=Token(0), interests=READABLE
web_1 | [2022-09-19][22:54:15][actix_server::worker][TRACE] Service "actix-web-service-127.0.0.1:8080" is available
web_1 | [2022-09-19][22:54:15][actix_server::signals][TRACE] setting up OS signal listener
web_1 | [2022-09-19][22:54:15][tokio_util::codec::framed_impl][TRACE] flushing framed transport
web_1 | [2022-09-19][22:54:15][tokio_util::codec::framed_impl][TRACE] framed transport flushed
web_1 | [2022-09-19][22:54:18][actix_tls::connect::resolver][TRACE] DNS resolver: failed to resolve host "redis" err: Resolver(Custom { kind: Uncategorized, error: "failed to lookup address information: Name or service not known" })
web_1 | [2022-09-19][22:54:18][actix_redis::redis][ERROR] Can not connect to redis server: Failed to resolve hostname
web_1 | [2022-09-19][22:54:18][actix_tls::connect::resolver][TRACE] DNS resolver: failed to resolve host "redis" err: Resolver(Custom { kind: Uncategorized, error: "failed to lookup address information: Name or service not known" })
web_1 | [2022-09-19][22:54:18][actix_redis::redis][ERROR] Can not connect to redis server: Failed to resolve hostname
web_1 | [2022-09-19][22:54:18][actix_tls::connect::resolver][TRACE] DNS resolver: failed to resolve host "redis" err: Resolver(Custom { kind: Uncategorized, error: "failed to lookup address information: Name or service not known" })
web_1 | [2022-09-19][22:54:18][actix_redis::redis][ERROR] Can not connect to redis server: Failed to resolve hostname
web_1 | [2022-09-19][22:54:18][actix_tls::connect::resolver][TRACE] DNS resolver: failed to resolve host "redis" err: Resolver(Custom { kind: Uncategorized, error: "failed to lookup address information: Name or service not known" })
web_1 | [2022-09-19][22:54:18][actix_redis::redis][ERROR] Can not connect to redis server: Failed to resolve hostname
web_1 | [2022-09-19][22:54:19][actix_tls::connect::resolver][TRACE] DNS resolver: resolving host "redis"
web_1 | [2022-09-19][22:54:19][actix_tls::connect::resolver][TRACE] DNS resolver: resolving host "redis"
web_1 | [2022-09-19][22:54:19][actix_tls::connect::resolver][TRACE] DNS resolver: resolving host "redis"
web_1 | [2022-09-19][22:54:19][actix_tls::connect::resolver][TRACE] DNS resolver: resolving host "redis"
web_1 | [2022-09-19][22:54:22][actix_tls::connect::resolver][TRACE] DNS resolver: failed to resolve host "redis" err: Resolver(Custom { kind: Uncategorized, error: "failed to lookup address information: Name or service not known" })
web_1 | [2022-09-19][22:54:22][actix_redis::redis][ERROR] Can not connect to redis server: Failed to resolve hostname
web_1 | [2022-09-19][22:54:22][actix_tls::connect::resolver][TRACE] DNS resolver: failed to resolve host "redis" err: Resolver(Custom { kind: Uncategorized, error: "failed to lookup address information: Name or service not known" })
web_1 | [2022-09-19][22:54:22][actix_redis::redis][ERROR] Can not connect to redis server: Failed to resolve hostname
web_1 | [2022-09-19][22:54:22][actix_tls::connect::resolver][TRACE] DNS resolver: failed to resolve host "redis" err: Resolver(Custom { kind: Uncategorized, error: "failed to lookup address information: Name or service not known" })
web_1 | [2022-09-19][22:54:22][actix_redis::redis][ERROR] Can not connect to redis server: Failed to resolve hostname
web_1 | [2022-09-19][22:54:22][actix_tls::connect::resolver][TRACE] DNS resolver: failed to resolve host "redis" err: Resolver(Custom { kind: Uncategorized, error: "failed to lookup address information: Name or service not known" })
web_1 | [2022-09-19][22:54:22][actix_redis::redis][ERROR] Can not connect to redis server: Failed to resolve hostname
web_1 | [2022-09-19][22:54:23][actix_tls::connect::resolver][TRACE] DNS resolver: resolving host "redis"
web_1 | [2022-09-19][22:54:23][actix_tls::connect::resolver][TRACE] DNS resolver: resolving host "redis"
web_1 | [2022-09-19][22:54:23][actix_tls::connect::resolver][TRACE] DNS resolver: resolving host "redis"
web_1 | [2022-09-19][22:54:23][actix_tls::connect::resolver][TRACE] DNS resolver: resolving host "redis"
Why can't actix_tls
resolve redis
?
Thanks in advance.
Seems like RedisActorSessionStore in actix-session
does not accept Redis URL starting with redis://
for some reason.
# instead of this
redis://redis-server:6379
# use this
redis-server:6379
If you are getting your Redis URL from .env
variable, and need to keep the redis://
part, you can replace string:
let redis_url = env::var("REDIS_URL")
.expect("Could not get `REDIS_URL` envar.")
.replace("redis://", "");
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.