背景
我已经构建了一个npm服务器(sinopia)的docker镜像(https://github.com/feuyeux/docker-atue/blob/master/docker-images/feuyeux_sinopia.md),在CMD命令行中,每次生成容器时都会运行start.sh。
CMD ["/opt/sinopia/start.sh"]
这个 shell 脚本将会动态创建一个 YAML 文件。
sed -e 's/\#listen\: localhost/listen\: 0.0.0.0/' -e 's/allow_publish\: admin/allow_publish\: all/' /tmp/config.yaml > /opt/sinopia/config.yaml
问题
我希望在容器运行时编辑config.yaml文件,因为我希望内容能够按需更改。
如上所示,第一行运行了一个sinopia容器,在该容器中有/opt/sinopia/config.yaml文件。但我不知道如何获取该正在运行的容器,以便编辑和检查此文件。 如果像sinopia-ls那样执行,会出现一个新的容器而不是之前运行的容器。
谢谢大家!
答案(请参见下面我接受的详细信息)
sudo nsenter --target $PID --mount --uts --ipc --net --pid
root@58075317e47d:/# ls /opt/sinopia/
config.yaml config_gen.js start.sh storage
root@58075317e47d:/# cat /opt/sinopia/config.yaml