我正在尝试编辑cassandra.yaml,它位于docker容器中的/etc/cassandra/cassandra.yaml,我可以在容器内的日志中编辑它,但我如何从主机上进行编辑?
am46iovg1#
从主机到容器有多种方法来实现这一点。你可以简单地在Dockerfile中使用COPY或RUN,或者使用基本的Linux命令,如sed,cat等,将配置放入容器中。另一种方法是在运行cassandra镜像时传递环境变量,它会将这些环境变量传递给产卵容器。此外,可以使用docker卷将其从主机挂载到容器,您可以将所需的配置Map到cassandra.yaml中,如下所示,
$ docker container run -v ~/home/MyWorkspace/cassandra.yaml:/etc/cassandra/cassandra.yaml your_cassandra_image_name
字符串如果你正在使用Docker Swarm,那么你可以使用Docker configs来外部存储配置文件(甚至其他外部服务也可以用作etcd或consul)。希望这对你有帮助。
b4qexyjb2#
编辑cassandra.yaml:
1)将文件从Docker容器复制到系统从命令行:
docker ps
字符串(To获取您的容器ID)然后又道:
docker cp your_container_id:\etc\cassandra\cassandra.yaml C:\Users\your_destination
型一旦文件复制,你应该能够看到它在your_destination文件夹2)打开它,然后进行您想要的更改3)将文件复制回Docker容器
your_destination
docker cp C:\Users\your_destination\cassandra.yaml your_container_id:\etc\cassandra
型4)重新启动容器以使更改生效
t9aqgxwy3#
在docker容器上安装vim,并直接在容器上编辑文件(假设:您对Vim很熟悉)。1.在容器上进入bash模式
vim
$ docker exec -it <container_id/container_name> bash
字符串1.更新包管理器并安装Vim
:/# apt update :/# apt install vim
型1.使用Vim编辑文件。
:/# vim /etc/cassandra/cassandra.yaml
型1.退出容器的交互模式(回到操作系统的终端。
:/# exit
型1.重新启动您的容器以使对cassandra.yaml的更改生效
$ docker restart <container_id/container_name>
型
3条答案
按热度按时间am46iovg1#
从主机到容器有多种方法来实现这一点。你可以简单地在Dockerfile中使用COPY或RUN,或者使用基本的Linux命令,如sed,cat等,将配置放入容器中。另一种方法是在运行cassandra镜像时传递环境变量,它会将这些环境变量传递给产卵容器。此外,可以使用docker卷将其从主机挂载到容器,您可以将所需的配置Map到cassandra.yaml中,如下所示,
字符串
如果你正在使用Docker Swarm,那么你可以使用Docker configs来外部存储配置文件(甚至其他外部服务也可以用作etcd或consul)。希望这对你有帮助。
b4qexyjb2#
编辑cassandra.yaml:
1)将文件从Docker容器复制到系统
从命令行:
字符串
(To获取您的容器ID)
然后又道:
型
一旦文件复制,你应该能够看到它在
your_destination
文件夹2)打开它,然后进行您想要的更改
3)将文件复制回Docker容器
型
4)重新启动容器以使更改生效
t9aqgxwy3#
在docker容器上安装
vim
,并直接在容器上编辑文件(假设:您对Vim很熟悉)。1.在容器上进入bash模式
字符串
1.更新包管理器并安装Vim
型
1.使用Vim编辑文件。
型
1.退出容器的交互模式(回到操作系统的终端。
型
1.重新启动您的容器以使对cassandra.yaml的更改生效
型