【发布时间】:2022-01-19 19:03:47
【问题描述】:
当我偶然发现我的构建存在一个非常奇怪的问题时,我一直在从事一个对 redis 部署进行 dockerize 化和自动化的项目。这是我当前的 Dockerfile
ARG BUILD_VERSION=5
FROM redis:${BUILD_VERSION}
RUN mkdir /var/log/redis
RUN chown -R redis:redis /data /var/log/redis
EXPOSE 6379
WORKDIR /usr/local/etc/redis
CMD ["/usr/local/bin/redis-server", "/etc/redis.conf"]
这是我的作文:
version: '2.2'
services:
redis:
image: test:red5
restart: unless-stopped
ports:
- "6379:6379"
user: $UID:$GID
volumes:
- /var/lib/redis/:/var/lib/redis/
- /var/log/redis/:/var/log/redis/
- /etc/redis.conf:/etc/redis.conf
需要明确的是,我将 redis 目录和配置安装为卷,因为这是服务器上的内容。UID 和 GID 变量在我的 .env 文件中被调用。
当我在容器内执行 docker exec 并运行 "/usr/local/bin/redis-server", "/etc/redis.conf" 时,redis 服务器初始化没有问题。但是当我运行 doocker-compose up 时,我得到了这个退出代码。
docker-compose up
Creating network "redis_default" with the default driver
Creating redis_redis_1 ... done
Attaching to redis_redis_1
redis_redis_1 exited with code 0
关于堆栈溢出的第一个问题 :).. 非常感谢您的帮助
日志(绑定地址问题已经解决):
I have no name!@b306768fd72f:/usr/local/src$ tail -f /var/log/redis/redis.log
37:C 19 Jan 2022 18:41:09.928 # Configuration loaded
38:M 19 Jan 2022 18:41:09.931 # Could not create server TCP listening socket *:6379: bind: Address already in use
41:C 19 Jan 2022 18:41:40.389 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
41:C 19 Jan 2022 18:41:40.389 # Redis version=5.0.14, bits=64, commit=00000000, modified=0, pid=41, just started
41:C 19 Jan 2022 18:41:40.389 # Configuration loaded
42:M 19 Jan 2022 18:41:40.393 * Running mode=standalone, port=6379.
42:M 19 Jan 2022 18:41:40.393 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
42:M 19 Jan 2022 18:41:40.393 # Server initialized
42:M 19 Jan 2022 18:41:40.394 * DB loaded from disk: 0.001 seconds
42:M 19 Jan 2022 18:41:40.394 * Ready to accept connections
【问题讨论】:
-
欢迎来到 StackOverflow。您能在日志中看到完整的异常吗?并发布在您的问题中。
-
自定义映像似乎没有多大作用,尤其是因为您在创建的目录上安装了一个卷;如果你使用未经修改的
image: 'redis:5',你有同样的问题吗? -
是的,图像并没有做太多这些只是我添加的额外配置。
test:redis5只是一个标签,但底层图像是redis:5