docker run -d --name redis-node-1 --net host --privileged=true -v /data/redis/share/redis-node-1:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6381 改为docker-compose,应该怎么写?
时间: 2024-02-22 15:57:34 AIGC 浏览: 252
你可以将上述 Docker 命令转化为 Docker Compose 文件格式,例如:
```yaml
version: '3'
services:
redis-node-1:
image: redis:6.0.8
command: redis-server --cluster-enabled yes --appendonly yes --port 6381
privileged: true
network_mode: host
volumes:
- /data/redis/share/redis-node-1:/data
```
将上述内容保存为 `docker-compose.yaml` 文件,并在该文件所在目录下执行 `docker-compose up -d` 命令即可启动 Redis 6.0.8 容器。这个 Compose 文件的作用和上面的 Docker 命令是一样的,唯一的区别在于使用了 Compose 的语法,并且省略了一些不需要的选项。
相关问题
docker run -d --net=host --privileged=true --restart=always -v /etc_data/redis_run:/etc_data/redis_run -v /etc_data/redis_run/redis.conf:/usr/redis/redis.conf --name redis_run redis6:v6.2.6运行之后返回的内容只有id吗
是的,一般情况下,`docker run` 命令成功执行后,会返回容器的ID。如果没有指定 `--name` 参数,则容器ID是一个随机生成的字符串;如果指定了 `--name` 参数,则容器ID就是指定的名称。
在你的命令中,指定了 `--name redis_run` 参数,所以执行成功后会返回容器名称 `redis_run` 对应的ID。如果命令执行失败,则会返回错误信息。
docker run -d \ -v /tmp/docker_data/redis/redis6379/redis.conf:/etc/redis/redis.conf \ -v /tmp/docker_data/redis/redis6379/data:/data \ -p 6379:6379 --privileged=true \ --name redis6379 redis:6.0.8 \ redis-server /etc/redis/redis.conf 为什么这个语句创建redis容器后么有redis.conf文件
这个语句是在创建 Redis 容器时将本地的 `/tmp/docker_data/redis/redis6379/redis.conf` 挂载到容器内的 `/etc/redis/redis.conf`,并将本地的 `/tmp/docker_data/redis/redis6379/data` 挂载到容器内的 `/data` 目录。因此,你需要确保本地的 `/tmp/docker_data/redis/redis6379/redis.conf` 文件存在且包含了正确的 Redis 配置信息。
如果容器创建成功,但是在容器内看不到 `/etc/redis/redis.conf` 文件,可能是因为这个文件被 Redis 容器的启动命令 `redis-server /etc/redis/redis.conf` 覆盖掉了。你可以通过以下命令进入容器内部查看:
```
docker exec -it redis6379 /bin/bash
ls /etc/redis
```
如果确实找不到 `redis.conf` 文件,可以尝试手动将 `redis.conf` 文件复制到容器内的 `/etc/redis/` 目录:
```
docker cp /tmp/docker_data/redis/redis6379/redis.conf redis6379:/etc/redis/
```
然后重启容器:
```
docker restart redis6379
```
这样应该就能够在容器内看到 `/etc/redis/redis.conf` 文件了。
阅读全文
相关推荐
















